基于 anime.js 实现

    anime.js 是一款功能强大的Javascript 动画库插件。anime.js 可以和CSS3 属性,SVG,DOM 元素和JS 对象一起工作,制作出各种高性能,平滑过渡的动画效果。

    安装

    1. npm install animejs

    组件代码

    1. import React, { useEffect, forwardRef, useRef,useState} from 'react';
    2. import anime from 'animejs';
    3. const Number = (props, ref) => {
    4. const dynamic = useRef(null);
    5. useEffect(() => {
    6. anime({
    7. targets: dynamic.current,
    8. innerHTML: [0, props.number],
    9. easing: 'easeInOutExpo',
    10. round: 1
    11. });
    12. }, [props.number]);
    13. return (
    14. <span ref={dynamic}>
    15. </span>
    16. );
    17. };
    18. export default forwardRef(Number);

    使用

    1. <Number number={23222222222} />