Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.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
Reactjs React js组件将卸载回调_Reactjs - Fatal编程技术网

Reactjs React js组件将卸载回调

Reactjs React js组件将卸载回调,reactjs,Reactjs,我已阅读,但仍不确定以下代码在与回调一起使用时是否会导致内存泄漏 类MyComponent扩展了React.Component{ componentDidMount(){ 这是真的 } 组件将卸载(){ 此参数=错误 } someAPIcall(){ callSomething(参数,(错误,结果)=>{ 如果(this.mounted==false)返回 //否则就做点什么 this.setState({…}) }) } } 最好这样做: class MyComponent extends R

我已阅读,但仍不确定以下代码在与回调一起使用时是否会导致内存泄漏

类MyComponent扩展了React.Component{ componentDidMount(){ 这是真的 } 组件将卸载(){ 此参数=错误 } someAPIcall(){ callSomething(参数,(错误,结果)=>{ 如果(this.mounted==false)返回 //否则就做点什么 this.setState({…}) }) } }
最好这样做:

class MyComponent extends React.Component {
  componentDidMount() {
    someAPIcall();
  }

  someAPIcall() {
    callSomething(argument, (err, result) => {

      this.setState({...})         
    })
  }
}

对我来说没问题。您最好也使用这个.state作为挂载属性:)我认为这是正确的。这将保证API调用只在装入后才能通过。让React计算组件何时安装,无需自行完成。