基于 anime.js 实现
anime.js 是一款功能强大的Javascript 动画库插件。anime.js 可以和CSS3 属性,SVG,DOM 元素和JS 对象一起工作,制作出各种高性能,平滑过渡的动画效果。
安装
npm install animejs
组件代码
import React, { useEffect, forwardRef, useRef,useState} from 'react';
import anime from 'animejs';
const Number = (props, ref) => {
const dynamic = useRef(null);
useEffect(() => {
anime({
targets: dynamic.current,
innerHTML: [0, props.number],
easing: 'easeInOutExpo',
round: 1
});
}, [props.number]);
return (
<span ref={dynamic}>
</span>
);
};
export default forwardRef(Number);
使用
<Number number={23222222222} />