1. 程式人生 > >React中實現定時操作和時間間隔內迴圈操作

React中實現定時操作和時間間隔內迴圈操作

最近,在專案中用到了一個功能,就是進入一個頁面,進行數字動態的滾動,當時只顧著去想一些動畫的效果了,所以花一點時間,後來自己上網找了一下,發現這個方法挺好的。
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); }