react-animated-number
React component for animating numbers
Install
react-animated-number is available via npm and can be used with browserify or webpack.
npm install --save react-animated-number
Usage
import AnimatedNumber from 'react-animated-number'; ... ... class Demo extends Component { ... render () { <AnimatedNumber component="text" value={bigValue} style={{ transition: '0.8s ease-out', fontSize: 48, transitionProperty: 'background-color, color, opacity' }} frameStyle={perc => ( perc === 100 ? {} : {backgroundColor: '#ffeb3b'} )} duration={300} formatValue={n => prettyBytes(n)}/> } }
API
value: number
required
Numeric value to which to tween to
initialValue: number
default: 0
Initial numeric value for the tween start
component: any
default: "span"
This is similar to the react transition API. By default, renders text inside a <span>
. You can pass in any valid ReactElement
. Use "text"
for rendering into SVG.
formatValue: ?(n: number) => string
A callback function that accepts a number and returns a formatted string
duration: ?number
default: 300
Total duration of animation in milliseconds
frameStyle: ?(perc: number) => Object | void,
A callback function that accepts the percentage of completion of current animation and returns the style object to applied to the current frame
stepPrecision: ?number
The number of decimal places to render for intermediate values. If set to 0
, rounds off the intermediate values using Math.round
Demo
A demo can be found here. Source code for the demo can be found here.
License
react-animated-number is licensed under MIT license.