react-tiny-transition

A small component that adds class names on mount/unmount for you to add css transitions to


Keywords
react, css-transition, animation, mount, unmount, transition
License
MIT
Install
npm install react-tiny-transition@2.5.0

Documentation

TinyTransition

npm version

This component adds classnames to your component when it mounts/unmounts so that you can add css transitions to it. basically the same thing as CSSTransition from react-transition-group, except smaller and without dependencies.

This component does not include any transition effects; you need to add your own. See example css below.

Browser support:

TinyTransition needs requestAnimationFrame (compatibility table) and element.classList (compatibility table) in order to do its thing, so make sure to add polyfills if you need to support older browsers (like IE9 and below).

Other Tiny libraries

Install:

npm install react-tiny-transition

API:

duration : Number = 500
The duration of your css transition (milliseconds)


disableInitialAnimation : Boolean = false
Disable the animation when TinyTransition mounts


delay : Number = 0
Delay before adding classnames (milliseconds)


children : React element
Single React element


classNames: Object
Default:

{
	beforeEnter: "before-enter",
	entering: "entering",
	beforeLeave: "before-leave",
	leaving: "leaving"
}

Classnames to use when mounting / unmounting


Basic example:

import TinyTransition from "react-tiny-transition";

...

<TinyTransition duration={500}>
  {this.state.isVisible &&
    <MyComponent />
  }
</TinyTransition>

CSS example:

.before-enter {
  opacity: 0;
}

.entering {
  transition: opacity 0.5s;
  opacity: 1;
}

.before-leave {
  transition: opacity 0.5s;
}

.leaving {
  opacity: 0;
}

Multiple elements:

In order to keep TinyTransition as tiny as possible, one child only will get classnames applied. If you want transitions on lists of things, you could try react-flip-move or react-flip-motion.