为什么他们在componentWillUnmount
使用clearInterval
?
componentWillUnmount() {
clearInterval(this.timerID);
console.log("here"); //nothing happens
}
in this example at the official docs
为什么他们使用它,因为这个方法在这个循环中没有被调用,因此clearInterval不会每秒执行一次?难道这背后的想法是每隔一秒清除间隔,因为每隔一秒就会发生一个新的间隔吗?或者我是误会?
答案 0 :(得分:4)
当组件卸载并从DOM中删除时,我们不希望this.tick()再次运行。 componentWillUnmount
旨在消除安装时先前设置的间隔:
componentDidMount() {
this.timerID = setInterval(
() => this.tick(),
1000
);
}
像大多数生命周期方法一样, componentWillUnmount
和componentDidMount
处理React直接管理的东西,但仍然作为组件的一部分发生的东西。