把组件想象成人,生命周期就是从生到死的过程。
🍼 出生(挂载)
组件第一次出现在页面上的阶段:
- 类组件:
constructor→render→componentDidMount - 函数组件:
useEffect(() => {}, [])里的代码
此时适合做的事:
发请求、初始化定时器、绑定事件。
🏃♂️ 成长(更新)
组件的数据(props 或 state)变了,需要重新渲染:
- 类组件:
render→componentDidUpdate - 函数组件:依赖数组
[xxx]变化的useEffect
此时适合做的事:
根据新数据更新 DOM、重新请求、对比变化。
💀 死亡(卸载)
组件从页面上消失了:
- 类组件:
componentWillUnmount - 函数组件:
useEffect返回的清理函数
此时适合做的事:
清理定时器、取消网络请求、解绑事件。
📌 一句话总结
组件生命周期 = 组件从“出现 → 变化 → 消失”的过程中,React 自动帮你按顺序调用的那几段代码。