Notes

hook 分类

一句话结论:Hooks 可以按“状态类、引用类、副作用类、性能优化类、并发/调度类”来理解;分类的目的不是背 API,而是理解它们落在哪个阶段执行。

1. 状态类

  • useState / useReducer:在 render 阶段计算新 state
  • useSyncExternalStore:对外部 store 的一致性订阅(并发下重要)

2. 引用与上下文

  • useRef:跨渲染保持可变引用,不触发重渲染
  • useContext:读取 context,并在变更时触发更新

3. 副作用

  • useEffect:commit 后异步执行(Passive)
  • useLayoutEffect:DOM 变更后、绘制前同步执行(Layout)

4. 性能优化 / 并发相关

  • useMemo / useCallback:缓存计算/函数引用(注意不是“保证不重渲染”)
  • useTransition / useDeferredValue:标记低优先级更新,改善交互响应

关联阅读

cd ..