React.js组件生命周期-卸载

  • ComponentWillUnmount是在卸载阶段执行的唯一方法。

  • 当元素树中没有与该组件匹配的组件时,组件进入此阶段。

  • 在将组件从实际DOM中删除之前,将调用此方法。

  • 除了从DOM树中删除此组件之外,该组件的所有子代也会自动删除。

  • 从DOM中删除组件后,即可在React中进行垃圾回收。

  • 清理活动可以用这种方法完成。例如清除应用中使用的本地存储变量,清除会话,清理图表,清理计时器,取消待处理的api请求等。

componentWillUnmount(){

   this.resetSession(); //example method to clean data

}

  • 清理活动有助于提高性能,内存泄漏并维护安全性。

  • 在最新版本16.4 +中,三个方法都标记为不赞成使用,并重命名了。这些方法将在React.js的下一个主要版本中删除

    • componentWillReceiveProps更改为UNSAFE_componentWillReceiveProps。使用名称getDerivedStateFromProps安全和静态地实现此方法。

    • componentWillMount更改为UNSAFE_componentWillMount。该方法中的代码应根据逻辑移至componentDidMount或构造函数。

    • componentWillUpdate更改为UNSAFE_componentWillUpdate。安全实现是getSnapshotBeforeUpdate。如果此方法返回任何值,则它将用作下一个方法(即componentDidUpdate)的参数。

    • 如果用户关闭浏览器,则组件WiIlUnmount将不会完成。

    • componentWillUnmount没有任何参数。不能从此方法调用setState shold。这是该组件的一次性调用。此方法的目的是消除组件产生的副作用。

    • 卸载组件后,我们将无法再次使用它。每次创建新组件时。

    • 同样,如果虚拟dom和实际dom没有差异,则react也可以停止更新阶段。

以上是 React.js组件生命周期-卸载 的全部内容, 来源链接: utcz.com/z/358525.html

回到顶部