State
1、useState()
,声明一个状态变量。
2、useReducer()
,声明一个状态变量,使用 reducer 函数更新状态。
Context
1、useContext()
,读取和订阅 context。
Effect
1、useEffect()
,同步外部系统。
2、useLayoutEffect()
,类 useEffect 但在浏览器重绘之前触发。
3、useInsertionEffect()
,CSS-in-JS 库用来注入样式。
1、useCallback()
,缓存函数。
2、useMemo()
,缓存值。
3、useTransition()
,不阻塞用户交互的状态更新。
4、useDeferredValue()
,延迟更新。
Refs
1、useRef()
,声明一个 ref。
2、useImperativeHandle()
,自定义 ref 的暴露方式。
Resource
1、use()
,挂起 Promise 或读取 context,可以在条件或循环里使用。
1、useFormState()
,获取 Form Action 结果。
2、useFormStatus()
,获取 Form Action 状态。
3、useOptimistic()
,乐观更新 UI。
Other
1、useId()
,生成跨 server 和 client 的唯一 ID。
2、useDebugValue()
,在 React DevTools 中显示自定义 hook 的标签。
3、useSyncExternalStore()
,订阅外部存储。