数字动画-countup

 

1-参考文档  react-countupGitHub - glennreyes/react-countup: 💫 A configurable React component wrapper around CountUp.js

/*
 * @Description: 描述
 * @Author: cy
 * @Date: 2024/12/24
 */

import React, { useState, useRef, useEffect } from "react";
import { Statistic, Progress } from "antd";
import Countup, { useCountUp } from "react-countup";
function Num(props) {
  const ref = useRef(null);

  const { value, color, precision } = props;
  const { start, pauseResume, reset, update } = useCountUp({
    ref: ref,
    start: 0,
    end: value,
    decimals: precision,
    // separator: "",
    // delay: 1000,
    duration: 2.5,
    // onReset: () => console.log("Resetted!"),
    // onUpdate: () => console.log("Updated!"),
    // onPauseResume: () => console.log("Paused or resumed!"),
    // onStart: ({ pauseResume }) => console.log(pauseResume),
    // onEnd: ({ pauseResume }) => console.log(pauseResume),
  });
  useEffect(() => {
    if (value) {
      update(value);
    }
  }, [value]);
  return <div ref={ref} />;

  const formatter = (value) => (
    <CountUp
      start={0}
      duration={2}
      end={value}
      separator=""
      decimals={precision}
      onEnd={() => {}}
    />
  );

  return (
    <Statistic
      value={value}
      precision={precision || 1}
      formatter={formatter}
      valueStyle={{
        fontSize: "48px",
        lineHeight: "53px",
        color: color || "#fff",
        fontFamily: "cy",
      }}
    />
  );
}

export default Num;

如果不在乎起点可以直接用组件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值