@types/react-transition-group
- Version 4.4.12
- Published
- 18.6 kB
- No dependencies
- MIT license
Install
npm i @types/react-transition-groupyarn add @types/react-transition-grouppnpm add @types/react-transition-groupOverview
TypeScript definitions for react-transition-group
Index
Variables
Classes
Type Aliases
Variables
variable config
const config: Config;Classes
class CSSTransition
class CSSTransition<Ref extends undefined | HTMLElement> extends Component< CSSTransitionProps<Ref>> {}class SwitchTransition
class SwitchTransition extends Component<SwitchTransitionProps> {}A transition component inspired by the [vue transition modes](https://vuejs.org/v2/guide/transitions.html#Transition-Modes). You can use it when you want to control the render between state transitions. Based on the selected mode and the child's key which is the
TransitionorCSSTransitioncomponent, theSwitchTransitionmakes a consistent transition between them.If the
out-inmode is selected, theSwitchTransitionwaits until the old child leaves and then inserts a new child. If thein-outmode is selected, theSwitchTransitioninserts a new child first, waits for the new child to enter and then removes the old childfunction App() {const [state, setState] = useState(false);return (<SwitchTransition><FadeTransition key={state ? "Goodbye, world!" : "Hello, world!"}addEndListener={(node, done) => node.addEventListener("transitionend", done, false)}classNames='fade' ><button onClick={() => setState(state => !state)}>{state ? "Goodbye, world!" : "Hello, world!"}</button></FadeTransition></SwitchTransition>)}
class Transition
class Transition<RefElement extends HTMLElement | undefined> extends Component< TransitionProps<RefElement>> {}The Transition component lets you describe a transition from one component state to another _over time_ with a simple declarative API. Most commonly It's used to animate the mounting and unmounting of Component, but can also be used to describe in-place transition states as well.
By default the
Transitioncomponent does not alter the behavior of the component it renders, it only tracks "enter" and "exit" states for the components. It's up to you to give meaning and effect to those states. For example we can add styles to a component when it enters or exits:import Transition from 'react-transition-group/Transition';const duration = 300;const defaultStyle = {transition: `opacity ${duration}ms ease-in-out`,opacity: 0,}const transitionStyles = {entering: { opacity: 1 },entered: { opacity: 1 },};const Fade = ({ in: inProp }) => (<Transition in={inProp} timeout={duration}>{(state) => (<div style={{...defaultStyle,...transitionStyles[state]}}>I'm A fade Transition!</div>)}</Transition>);
class TransitionGroup
class TransitionGroup extends Component<TransitionGroupProps> {}The
<TransitionGroup>component manages a set of<Transition>components in a list. Like with the<Transition>component,<TransitionGroup>, is a state machine for managing the mounting and unmounting of components over time.Consider the example below using the
FadeCSS transition from before. As items are removed or added to the TodoList theinprop is toggled automatically by the<TransitionGroup>. You can use _any_<Transition>component in a<TransitionGroup>, not just css.import TransitionGroup from 'react-transition-group/TransitionGroup';class TodoList extends React.Component {constructor(props) {super(props)this.state = {items: ['hello', 'world', 'click', 'me']}}handleAdd() {const newItems = this.state.items.concat([prompt('Enter some text')]);this.setState({ items: newItems });}handleRemove(i) {let newItems = this.state.items.slice();newItems.splice(i, 1);this.setState({items: newItems});}render() {return (<div><button onClick={() => this.handleAdd()}>Add Item</button><TransitionGroup>{this.state.items.map((item, i) => (<FadeTransition key={item}><div>{item}{' '}<button onClick={() => this.handleRemove(i)}>remove</button></div></FadeTransition>))}</TransitionGroup></div>);}}Note that
<TransitionGroup>does not define any animation behavior! Exactly _how_ a list item animates is up to the individual<Transition>components. This means you can mix and match animations across different list items.
Type Aliases
type TransitionStatus
type TransitionStatus = | typeof ENTERING | typeof ENTERED | typeof EXITING | typeof EXITED | typeof UNMOUNTED;Package Files (6)
Dependencies (0)
No dependencies.
Dev Dependencies (0)
No dev dependencies.
Peer Dependencies (1)
Badge
To add a badge like this oneto your package's README, use the codes available below.
You may also use Shields.io to create a custom badge linking to https://www.jsdocs.io/package/@types/react-transition-group.
- Markdown[](https://www.jsdocs.io/package/@types/react-transition-group)
- HTML<a href="https://www.jsdocs.io/package/@types/react-transition-group"><img src="https://img.shields.io/badge/jsDocs.io-reference-blue" alt="jsDocs.io"></a>
- Updated .
Package analyzed in 1228 ms. - Missing or incorrect documentation? Open an issue for this package.
