react-animate-number
Version:
49 lines (39 loc) • 1.21 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', {
value: true
});
var React = require('react');
var ReactAnimateNumber = React.createClass({
displayName: 'ReactAnimateNumber',
getInitialState: function getInitialState() {
return { number: 0 };
},
componentDidMount: function componentDidMount() {
var _props = this.props;
var number = _props.number;
var speed = _props.speed;
number && this.animate(number, speed);
},
componentWillUnmount: function componentWillUnmount() {
clearInterval(this.timer);
},
animate: function animate(number, speed) {
this.timer = setInterval((function () {
if (this.state.number < number) {
this.setState({ number: this.state.number + 1 });
} else {
clearInterval(this.timer);
}
}).bind(this), speed);
},
render: function render() {
var displayNumber = this.state.number;
return React.createElement(
'span',
null,
displayNumber
);
}
});
exports['default'] = ReactAnimateNumber;
module.exports = exports['default'];