A React Component that fades out its old child, then fades in its new child when its children change.
It can also optionally animate its height and/or width from one child's size to the other.
Works well with react-router!
npm install --save react-faderimport React from 'react'
import ReactDOM from 'react-dom'
import Fader from 'react-fader'
ReactDOM.render(
<Fader>
<h3>Foo</h3>
</Fader>,
document.getElementById('root')
)
// Just change its children to something !==, and it will perform a fade transition.
ReactDOM.render(
<Fader>
<h3>Bar</h3>
</Fader>,
document.getElementById('root')
)While it can be done with <Switch>, I recommend using
react-router-transition-switch instead:
import {Route, BrowserRouter as Router} from 'react-router-dom'
import TransitionSwitch from 'react-router-transition-switch'
import Fader from 'react-fader'
<Router>
<TransitionSwitch component={Fader}>
<Route path="/red" component={Red}/>
<Route path="/green" component={Green} />
<Route path="/blue" component={Blue} />
</TransitionSwitch>
<Router>If truthy, Fader will animate its height to match the height of its children.
If truthy, Fader will animate its width to match the height of its children.
Allows you to determine whether Fader should perform a transition from oldChildren to newChildren. By default,
it returns true if oldChildren !== newChildren or their keys are not equal.
The duration of the fade out transition, in milliseconds.
The timing function for the fade out transition.
The duration of the fade in transition, in milliseconds.
The timing function for the fade in transition.
The duration of the size transition, in milliseconds.
The timing function for the size transition.
If given, overrides the inline-style-prefixer used to autoprefix inline styles.
Any extra class names to add to the root element.
Extra inline styles to add to the root element.
Extra inline styles to add to the view wrapper elements.
Extra inline styles to add to the inner div between the viewStyle div and your
view content element. (The inner div was added to ensure perfect height
animation.)