在什么情况下reactJS组件可以卸载?

时间:2016-06-26 22:57:01

标签: reactjs

我正在尝试诊断错误:

只能更新已安装或安装的组件。这通常意味着您在已卸载的组件上调用了setState()。这是一个无操作。

我发的日志信息如下:

  componentWillUnmount() {
    console.log('unmounting ', this.props.fieldName)
  }

因此我可以看到我的组件正在卸载。

为什么要卸载?在什么情况下组件卸载。

如果我知道组件卸载的所有可能情况,那么我可以追踪错误并修复它。

1 个答案:

答案 0 :(得分:1)

根据https://reactjs.org/docs/reconciliation.html,每当根元素具有不同类型时,react都会决定拆除旧树并从头开始构建新树。

在拆除树木时将触发

componentWillUnmount(),因为旧的DOM节点被破坏了。 这也适用于根以下的任何节点,它们都将被卸载。