【发布时间】:2026-02-09 07:50:02
【问题描述】:
如果我从这里更改我的代码
componentDidMount(){
let interval = setInterval(this.timer, 1000);
this.setState({ secondsRemaining: this.state.secondsRemaining })
this.setState({ interval: interval });
};
到这里:
startTime(){
let interval = setInterval(this.timer, 1000);
this.setState({ secondsRemaining: this.state.secondsRemaining })
this.setState({ interval: interval });
};
<p><input type="submit" value="Start Timer!" onClick={this.startTimer}/></p>
我会收到一条错误消息,提示 Cannot read property 'timer' of null 指向 let interval 行
我为什么会得到这个? (绑定错误?)
我认为下一部分会解决这个问题:
constructor(props) {
super(props);
this.state = {
secondsRemaining: 10
};
this.timer = this.timer.bind(this);
}
也许有些东西没有安装?我无法弄清楚为什么它在安装时有效,但在点击时无效
【问题讨论】:
-
你正在使用
startTimer和startTime? -
将 'this' 也绑定到 setInterval...
标签: javascript reactjs onclick