返回介绍

组件生命周期的不同阶段是什么?

发布于 2024-08-09 20:39:58 字数 1607 浏览 0 评论 0 收藏 0

组件生命周期有三个不同的生命周期阶段:

  1. Mounting: 组件已准备好挂载到浏览器的 DOM 中. 此阶段包含来自 constructor() , getDerivedStateFromProps() , render() , 和 componentDidMount() 生命周期方法中的初始化过程。

  2. Updating: 在此阶段,组件以两种方式更新,发送新的属性并使用 setState()forceUpdate() 方法更新状态. 此阶段包含 getDerivedStateFromProps() , shouldComponentUpdate() , render() , getSnapshotBeforeUpdate()componentDidUpdate() 生命周期方法。

  3. Unmounting: 在这个最后阶段,不需要组件,它将从浏览器 DOM 中卸载。这个阶段包含 componentWillUnmount() 生命周期方法。

值得一提的是,在将更改应用到 DOM 时,React 内部也有阶段概念。它们按如下方式分隔开:

  1. Render 组件将会进行无副作用渲染。这适用于纯组件(Pure Component),在此阶段,React 可以暂停,中止或重新渲染。

  2. Pre-commit 在组件实际将更改应用于 DOM 之前,有一个时刻允许 React 通过 getSnapshotBeforeUpdate() 捕获一些 DOM 信息(例如滚动位置)。

  3. Commit React 操作 DOM 并分别执行最后的生命周期: componentDidMount() 在 DOM 渲染完成后调用, componentDidUpdate() 在组件更新时调用, componentWillUnmount() 在组件卸载时调用。
    React 16.3+ 阶段 (也可以看 交互式版本 )

phases 16.3+

React 16.3 之前

phases 16.2

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文