
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
react-native-collapsible-fork
Advanced tools
Animated collapsible component for React Native using the Animated API. Good for accordions, toggles etc
Animated collapsible component for React Native using the Animated API
Pure JavaScript, supports dynamic content heights and components that is aware of its collapsed state (good for toggling arrows etc).
npm install --save react-native-collapsible
import Collapsible from 'react-native-collapsible';
<Collapsible collapsed={isCollapsed}>
<SomeCollapsedView />
</Collapsible>
| Prop | Description | Default |
|---|---|---|
align | Alignment of the content when transitioning, can be top, center or bottom | top |
collapsed | Whether to show the child components or not | true |
collapsedHeight | Which height should the component collapse to | 0 |
duration | Duration of transition in milliseconds | 300 |
easing | Function or function name from Easing (or tween-functions if < RN 0.8). Collapsible will try to combine Easing functions for you if you name them like tween-functions. | easeOutCubic |
This is a convenience component for a common use case, see demo below.
import Accordion from 'react-native-collapsible/Accordion';
<Accordion
sections={['Section 1', 'Section 2', 'Section 3']}
renderHeader={this._renderHeader}
renderContent={this._renderContent}
/>
| Prop | Description |
|---|---|---|
|sections|An array of sections passed to the render methods|
|renderHeader(content, index, isActive)|A function that should return a renderable representing the header|
|renderContent(content, index, isActive)|A function that should return a renderable representing the content|
|onChange(index)|An optional function that is called when currently active section is changed, index === false when collapsed|
|initiallyActiveSection|Set which index in the sections array is initially open. Defaults to none. |
|activeSection|Control which index in the sections array is currently open. Defaults to none. If false, closes all sections.|
|underlayColor|The color of the underlay that will show through when tapping on headers. Defaults to black. |
|align|See Collapsible|
|duration|See Collapsible|
|easing|See Collapsible|

Check full example in the Example folder.
import React, { Component } from 'react-native';
import Accordion from 'react-native-collapsible/Accordion';
const SECTIONS = [
{
title: 'First',
content: 'Lorem ipsum...',
},
{
title: 'Second',
content: 'Lorem ipsum...',
}
];
class AccordionView extends Component {
_renderHeader(section) {
return (
<View style={styles.header}>
<Text style={styles.headerText}>{section.title}</Text>
</View>
);
}
_renderContent(section) {
return (
<View style={styles.content}>
<Text>{section.content}</Text>
</View>
);
}
render {
return (
<Accordion
sections={SECTIONS}
renderHeader={this._renderHeader}
renderContent={this._renderContent}
/>
);
}
}
If you combine with the react-native-animatable library you can easily transition the background color between the active and inactive state or add animations.
Lets augment the example above with:
import * as Animatable from 'react-native-animatable';
(...)
_renderHeader(section, index, isActive) {
return (
<Animatable.View
style={styles.header}
duration={300}
transition="backgroundColor"
style={{ backgroundColor: (isActive ? 'rgba(255,255,255,1)' : 'rgba(245,252,255,1)') }}>
<Text style={styles.headerText}>{section.title}</Text>
</Animatable.View>
);
}
_renderContent(section, i, isActive) {
return (
<Animatable.View
style={styles.content}
duration={300}
transition="backgroundColor"
style={{ backgroundColor: (isActive ? 'rgba(255,255,255,1)' : 'rgba(245,252,255,1)') }}>
<Animatable.Text
duration={300}
easing="ease-out"
animation={isActive ? 'zoomIn' : false}>
{section.content}
</Animatable.Text>
</Animatable.View>
);
}
(...)
To produce this (slowed down for visibility):

MIT License. © Joel Arvidsson 2015
FAQs
Animated collapsible component for React Native using the Animated API. Good for accordions, toggles etc
We found that react-native-collapsible-fork demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.