如何防止React Native中的延迟负值?

时间:2018-05-02 20:22:05

标签: reactjs react-native

我想在结束时停止倒计时,现在继续延迟负数。

{{1}}

2 个答案:

答案 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);
}