Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何以这种特殊方式清除间隔集_Javascript_Reactjs - Fatal编程技术网

Javascript 如何以这种特殊方式清除间隔集

Javascript 如何以这种特殊方式清除间隔集,javascript,reactjs,Javascript,Reactjs,我在英国工作。我想清除组件卸载的间隔 间隔设置为如下所示 setInterval( () => this.baz(), 1000 ); 下面是这个答案 我该如何澄清这一点。如果这是一个基本问题,我很抱歉setInterval在调用时返回一个ID。您只需保存它并将其传递给clearInterval()。您可以非常轻松地将其保存在您所在的州: this.setState({ intervalId: setInterval(() => this.baz(), 1000) }); 然后在

我在英国工作。我想清除组件卸载的间隔

间隔设置为如下所示

setInterval( () => this.baz(), 1000 );
下面是这个答案


我该如何澄清这一点。如果这是一个基本问题,我很抱歉

setInterval
在调用时返回一个ID。您只需保存它并将其传递给
clearInterval()
。您可以非常轻松地将其保存在您所在的州:

this.setState({ intervalId: setInterval(() => this.baz(), 1000) });
然后在
组件willunmount()
中:


setInterval
调用时返回一个ID。您只需保存它并将其传递给
clearInterval()
。您可以非常轻松地将其保存在您所在的州:

this.setState({ intervalId: setInterval(() => this.baz(), 1000) });
然后在
组件willunmount()
中:

在组件上保存对的引用(
this.intervalID
),并在componentWillUnmount中清除它:

class Demo extends React.Component {
  componentDidMount() {
    this.intervalID = setInterval( () => this.baz(), 1000 );
  }

  componentWillUnmount() {
    clearInterval(this.intervalID);
  }

  render() {
    //...
  }
}
在组件上保存对的引用(
this.intervalID
),并在componentWillUnmount中清除它:

class Demo extends React.Component {
  componentDidMount() {
    this.intervalID = setInterval( () => this.baz(), 1000 );
  }

  componentWillUnmount() {
    clearInterval(this.intervalID);
  }

  render() {
    //...
  }
}