一个react的关于统计数字的动画---Scoreboard

呃呃呃,具体这个效果是不是叫这个名,我不知道,自己起的名字
具体效果直接看这个地址,https://951565664.github.io/S...
我研究了半天,也没搞懂gif 怎么做的。
废话不多说了。开始正题

----------------------------------我是分割线,线割分是我 -----------------------------
提前说明一下,demo的数据变化,是我随机产生的。。而大家用到的时候肯定是正式项目需求。那么如果值不变,是不会render内部的。所以外层尽管无节操调用。所有动画都是css做的,性能应该是最优的了。

Scoreboard


Install

npm install scoreboard-react --save

or

yarn install scoreboard-react --save

Usage

import Scoreboard from 'scoreboard';

Props

Props desc type default
transitionDuration 动画的时间 String 0.5s
numberStyle 数字的样式 Object {}
style 外框的样式 Object {}

Demo

D:codeSpaceScoreboardexampletest

import React, { Component } from 'react';
import ReactDOM from 'react-dom';
import Scoreboard from 'scoreboard-react';
import styles from './index.less'

const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0];
class App extends Component {
    state = {
        key: 2
    }
    changeNum = (params) => {
        this.setState({
            key: parseInt(Math.random() * 10) + 2
        })
    }
    componentDidMount = () => {
        this.timer = setInterval(this.changeNum, 1000)
    }
    componentWillMount = () => {
        clearInterval(this.timer)
    }

    render() {
        let numberStr = new Array(this.state.key).fill(1).map((item) => parseInt(Math.random() * 10)).reduce((prev, curr, index, array) => '' + prev + curr);
        return (
            
        );
    }
}
ReactDOM.render(, document.getElementById('root'));

demo的数据变化,是我随机产生的。。而大家用到的时候肯定是正式项目需求。那么如果值不变,是不会render内部的。所以外层尽管无节操调用。

如果大家有任何关于这个动画扩展的需求可以直接提的。我尽量第一时间反馈,毕竟我是以挣star为目的的,哈哈哈哈

你可能感兴趣的:(animation,react-component,react.js,javascript)