当我运行程序时,出现内存不足错误

时间:2020-06-27 11:05:43

标签: javascript html reactjs while-loop

因此,我实际上想创建一个可以倒计时的计时器,但是当我运行此脚本时,总是会收到“内存不足”错误。这是我的onClick脚本:

handleClickStart = () => {
          while (this.state.hours > 0) {
              this.setState({
                  hours: this.state.hours - 1
              })
          } 
    }

如果需要的话,我也可以向您展示整个代码

1 个答案:

答案 0 :(得分:3)

setState是异步的,它是批量运行的,不要在循环内使用setState,而是像这样创建新变量并在循环结束时设置状态

handleClickStart = () => {
    let hours = this.state.hours;
    while (hours > 0) {
        hours --;
    } 

    this.setState({hours});
}