React中实现定时操作和时间间隔内循环操作

本文介绍如何在React项目中实现数字动态滚动,通过设定时间间隔进行循环操作,并讲解如何设置定时执行特定方法,为页面增加动态效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近,在项目中用到了一个功能,就是进入一个页面,进行数字动态的滚动,当时只顾着去想一些动画的效果了,所以花一点时间,后来自己上网找了一下,发现这个方法挺好的。
1.在一个设定的时间间隔内进行循环的操作

componentWillReceiveProps(next){
        //控制数字的滚动
        if(next.total!==0 && !this.timer) {
            this.timer = setInterval(
                () => {
                //this.state.start就是这个滚动数字的其实值,然后将其分成21份,每50毫秒进行加一份
                    let val = this.state.start + parseInt(next.total/21);
                    //当这个数字大于最后显示的数据时,停止
                    if (val >= next.total) {
                        val = next.total;
                        //停止掉
                        clearInterval(this.timer);
                        this.timer = undefined;
                    }

                    this.setState({
                        start: val,
                    });
                },
                50
            );

        }

2.定时操作(在某一段时间之后执行某个方法)

componentWillReceiveProps(next){
        if(next.total!==0 && !this.timer) {
            this.timer = setTimeout(
                () => {
                    alert(‘隔了1000毫秒执行了这个提示!’);
                },
                1000
            );
        }
    }

//不用的是时候将其解绑
    componentWillUnmount() {
        this.timer && clearTimeout(this.timer);
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值