【发布时间】:2020-03-11 06:07:35
【问题描述】:
我在使用 setInterval 和 React 时遇到了一些问题。
基本上,我正在尝试为 FreeCodeCamp 构建番茄钟,而 setInterval 无法识别该函数已定义.. 链接如下。
https://codepen.io/paalpwmd/pen/yLNJEMv?editors=1111
基本上 - 我希望计时器方法从总长度状态中减去 1000 毫秒,直到长度为 0。
我得到的错误是这个..
TypeError: this.tick is not a function
at https://cdpn.io/boomboom/v2/index.html?editors=1111&key=iFrameKey-713a6d83-4480-ba30-a898-c7e72b527740:28
我还尝试将设置间隔函数直接放在计时器中(像这样),但我收到一个错误,提示 this.state 未定义。
timer(){
setInterval(function() {
this.setState({
length: this.state.length - 1000
}), 1000)
}
ES6 和 ES5 的语法我都试过了,这是绑定在构造函数上的。
我认为这与 React 绑定 this 的方式有关。我在这里做错了什么?
【问题讨论】:
标签: javascript reactjs