怎么做" componentWillUnmount"使用clearinterval?

时间:2017-04-20 01:37:48

标签: reactjs

为什么他们在componentWillUnmount使用clearInterval

componentWillUnmount() {
   clearInterval(this.timerID);
   console.log("here");  //nothing happens
}

in this example at the official docs

为什么他们使用它,因为这个方法在这个循环中没有被调用,因此clearInterval不会每秒执行一次?难道这背后的想法是每隔一秒清除间隔,因为每隔一秒就会发生一个新的间隔吗?或者我是误会?

1 个答案:

答案 0 :(得分:4)

当组件卸载并从DOM中删除时,我们不希望this.tick()再次运行。 componentWillUnmount旨在消除安装时先前设置的间隔:

  componentDidMount() {
    this.timerID = setInterval(
      () => this.tick(),
      1000
    );
  }
像大多数生命周期方法一样,

componentWillUnmountcomponentDidMount处理React直接管理的东西,但仍然作为组件的一部分发生的东西。