我想在结束时停止倒计时,现在继续延迟负数。
{{1}}
答案 0 :(得分:1)
setState method有第二个参数作为回调,你可以用它来检查倒计时是否已经完成。
decrementClock = () => {
this.setState((prevstate) => ({ timer: prevstate.timer-1 }), () => {
if (this.state.timer < 1) {
clearInterval(this.clockCall);
}
});
};
答案 1 :(得分:0)
如果它是负面的,你应该清除间隔:
startTimer = () => {
this.clockCall = setInterval(() => {
if (this.state.timer === 0) {
clearInterval(this.clockCall)
return
}
this.decrementClock();
}, 1000);
}