react怎么实现数字增长
请大神指点
// state数据
state = {
rightIndexTop: [{
rightIndexTopAllLeftTop: 10278
},{
rightIndexTopAllLeftTop: 10278
},{
rightIndexTopAllLeftTop: 10278
}]
numAll: 0
}
// componentDidMount里面
this.state.rightIndexTop.map(item => {
let timer = null;
if(this.state.numAll<item.rightIndexTopAllLeftTop){
timer = setInterval(() => {
this.setState({
numAll: this.state.numAll+549
})
}, 0);
}else{
console.log(1)
clearInterval(timer);
}
})
这样为什么实现不了?
具体代码,谢谢指点
你的代码中:
else
中的代码,即不会去执行clearInterval(timer)
;setState
是异步的,不能保证执行setInterval
里面的代码时,this.state.numAll
的值是递增的。