在 React.js 中创建动画计数器:分步指南
P粉635509719
P粉635509719 2023-10-21 19:46:40
0
1
704

我正在寻找一种在 React 中为计数器设置动画的方法。

为了举例,我有以下结构的 3 个组件:

  • 师父:
    • 逻辑组件
    • Counter

(Master是logicComponent和Counter的父级)

逻辑组件将一个数字传递给主控组件,主控组件将其传递给应该执行动画的计数器组件。 逻辑组件以增量方式发送数字,也就是说,每次发生某些事情时,它都会发送更新。

例如,logicCounter 调用 Master 十次来递增计数器,我预计 Counter 将渲染 10 次,显示 10 个数字。 到目前为止我尝试过的所有方法都显示了最终数字(10),没有任何增量。

在寻找解决方案后,我遇到了 Window.requestAnimationFrame(),我正在寻找一种在 React 中实现它的正确方法。

我试图避免使用第 3 方 npms/库。

希望得到您的帮助/想法。 谢谢。

P粉635509719
P粉635509719

全部回复(1)
P粉214089349

对于 React-JS 中的动画计数器,我使用 'react-count' :围绕“CountUp.js”的可配置 React 组件包装器。

请参考:https://github.com/glennreyes/react-countup。 查看现场演示:https://tr8tk.csb.app/ 步骤:

安装:

*npm install react-countup --save*
or
*yarn add react-countup*

简单示例:

import React from 'react';
import { render } from 'react-dom';
import CountUp from 'react-countup';

render(
  <CountUp start={0} end={160526} />,
  document.getElementById('root')
);

高级示例:

import React from 'react';
import { render } from 'react-dom';
import CountUp from 'react-countup';

const onComplete = () => {
  console.log('Completed!');
};

const onStart = () => {
  console.log('Started!');
};

render(
  <CountUp
    className="account-balance"
    start={160527.0127}
    end={-875.0319}
    duration={2.75}
    useEasing={true}
    useGrouping={true}
    separator=" "
    decimals={4}
    decimal=","
    prefix="EUR "
    suffix=" left"
    onComplete={onComplete}
    onStart={onStart}
  />,
  document.getElementById('root'),
);
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板