React Hooks · 卸载
这是一条受支持 API 的教学时间线,用来解释阶段顺序;它不是任意代码沙箱。
阶段顺序
- 1运行 useLayoutEffect cleanup
观察这一阶段发生在 JavaScript、DOM Commit、Browser Paint 或副作用中的哪一层。
- 2移除 DOM
观察这一阶段发生在 JavaScript、DOM Commit、Browser Paint 或副作用中的哪一层。
- 3运行 useEffect cleanup
观察这一阶段发生在 JavaScript、DOM Commit、Browser Paint 或副作用中的哪一层。
判断重点
- 区分 render 计算与 DOM 提交。
- 区分绘制前的同步 Hook 与绘制后的被动副作用。
- 清理函数与下一次 setup 或组件移除的先后顺序必须明确。