本文由两部分组成,思路和代码
思路:
1.运用componentWillReceiveProps方法的监听props改变的功能,
2.这里倒计时要用setTimeout,不能用setInterval。
代码:
componentWillReceiveProps(next){
//短信验证码倒计时
if(next.isTimerStart && next.timerNum >= 0) {//isTimerStart为是否开启倒计时功能,timerNum为倒计时显示的变化秒数,默认为60
this.timer= setTimeout(() => {
let val = next.timerNum - 1;
if(val < 0){
clearTimeout(this.timer);//清楚定时器
}else{
this.props.setTimeNum(val);//通过redux改变倒计时的秒数
}
},1000);
}
}