react-animate-mount
react-animate-mount copied to clipboard
Lightweight React component for animating component when mounts and unmounts with slide and fade effects.
React Animate Mount
Simple and light wrapper component for sliding (to auto height) and fading animation when children mounts and unmount:
- Animate - provides sliding and fading animation for single component when mount & umount
- AnimateGroup - provides animation for items entering & leaving a list.
Install
$ yarn add react-animate-mount
Demos
- https://mingruizhang.github.io/react-animate-mount/
- https://codesandbox.io/s/303lzkow5
- https://codesandbox.io/s/zrwyk6l933
Animate
Help animate single component when mount & umount
Usage
/** Before **/
this.state.show ? {childen} : null;
/** After **/
import { Animate } from 'react-animate-mount'
<Animate show={this.state.show}>
{childen}
</Animate>
Props
Name | Type | Description |
---|---|---|
show | boolean | The key boolean that indicate if the children should be mounted |
appear | ?boolean = false | Normally component is not animated when <Animate> mounts, with this flag the child component will animate in on initialization. |
duration | ?number = 200 | The duration you want the animate to last in ms, default to 250 |
type | ?string('slide' or 'fade') = 'slide' | Specify animation effect, sliding or pure fading |
onAnimateComplete | ?function | Invokes when component animation finishes. |
AnimateGroup
Wraps around a list of item, this provides <Animate>
effect to each individual child. As item changes in the list, <AnimateGroup>
will animate out removed children and animate in new children correctly.
Please provide unique key to each child. keys are used to identify child between renders
Usage
import { AnimateGroup } from 'react-animate-mount'
<AnimateGroup>
{items.map(item => (<Item key={item.key} data={item.data} />)}
</AnimateGroup>
Props
Name | Type | Description |
---|---|---|
duration | ?number = 200 | The duration you want the animate to last in ms, default to 250 |
type | ?string('slide' or 'fade') = 'slide' | Specify animation effect, sliding or pure fading |
onAnimateComplete | ?function | Invokes when each time animation finishes. |