node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »


React Transition Component

Build Status

React.js component that will apply transitions on any prop change. Was created to be used on drawing SVG charts with D3, but can be used for anything.


Check the live demo.


Here is an example usage:

<ReactTransition component="div" ease="bounce" duration="500" style={{ left: left }}/>

The ReactTransition component will actualy render a div, and it will apply the bounce ease function with a duration of 500 milisseconds on any componentWillReceiveProps of the style property.


Install with NPM:

npm install react-transition

It also is available as an UMD. Having support for AMD, CommonJS and globals, which can be installed through Bower:

bower install react-transition

Or simply dowloading the dist/react-transition.js distribution file and add as a script tag in your HTML (it will expose a ReactTransition global variable) allongsite with its depencencies:

<script src="vendor/react.min.js"></script>
<script src="vendor/d3.min.js" charset="utf-8"></script>
<script src='vendor/react-transition.js'></script>

Easing functions

Check D3's documentation to see the available easing function. But some examples are:

  • linear - the identity function, t.
  • poly(k) - raises t to the specified power k (e.g., 3).
  • quad - equivalent to poly(2).
  • cubic - equivalent to poly(3).
  • sin - applies the trigonometric function sin.
  • exp - raises 2 to a power based on t.
  • circle - the quarter circle.
  • elastic(a, p) - simulates an elastic band;
  • back(s) - simulates backing into a parking space.
  • bounce - simulates a bouncy collision.


Paulo Ragonha

Similar work

You can check @chenglou's approach to animation using mixins: react-tween-state.