SuperAPI AI 工具集

react-hooks-complete

编程与开发

查看项目

更新于 10-16 09:13

技能介绍

用途

React Hooks Complete 是一个完整的 React Hooks 参考系统,用于指导 React Hooks 的实现。根据资料,它会在以下情况被主动激活:useState 与 useReducer 模式、useEffect 与生命周期、useRef 用于 DOM 等场景。

该技能适用于 React Hooks 实现,包括:为用例选择合适的钩子;使用 useState/useReducer 管理组件状态;使用 useEffect 处理副作用与清理;构建自定义可复用钩子;使用 useMemo 和 useCallback 进行优化;使用 React 19 并发特性。资料同时指出,若涉及状态管理库,应参考 react-state-management。

主要能力

状态钩子

  • useState:本地状态,支持惰性初始化、对象状态、数组状态(添加、删除、更新项)。
  • useReducer:复杂状态,包含 State 与 Action 类型定义、reducer 函数及用法示例。
  • useReducer with Immer:结合 immer 的 produce 处理 Todo 列表的添加、切换、删除。

副作用钩子

  • useEffect:副作用处理,示例包含异步获取用户数据、取消标志与清理函数。
  • useLayoutEffect:在 DOM 变更后、绘制前同步运行,示例为 Tooltip 高度测量。
  • useInsertionEffect:面向 CSS-in-JS 库作者,示例动态插入与移除 style 标签。

上下文钩子

  • useContext:消费上下文,示例包含 AuthContext 类型定义、AuthProvider 组件、useAuth 自定义钩子及用法。

引用钩子

  • useRef:DOM 引用与可变值(不触发重新渲染),示例包含输入框聚焦与计时器。
  • useImperativeHandle:配合 forwardRef 暴露命令式句柄,示例为 VideoPlayer 的 play、pause、seek。

性能钩子与 React 19 钩子

资料说明,useMemo、useCallback、useTransition、useDeferredValue 以及 React 19 时代的 useActionState、useOptimistic、useFormStatus 等钩子的详细内容位于 references/performance-and-react-19-hooks.md。在优化渲染、处理过渡/延迟值或接入 React 19 表单与异步资源时加载该参考。

自定义钩子

提供 useLocalStorage、useDebounce、useFetch、useMediaQuery 的完整实现与用法示例。资料还提到 references/custom-hooks-library.md 包含可复用自定义钩子的完整库。

Hooks 规则

  • 只在顶层调用钩子,不要在循环、条件或嵌套函数中调用。
  • 只从 React 函数中调用钩子,即组件或自定义钩子。
  • 自定义钩子名称以 "use" 开头,以便启用 lint 检查。 资料给出反例(条件调用钩子)与正例(无条件调用钩子)。

使用方式

资料以快速参考表列出各钩子的用途与示例,包括 useState、useReducer、useEffect、useRef、useContext、useMemo、useCallback,以及 React 19 的 useTransition、useDeferredValue、useActionState、useOptimistic、useFormStatus。正文按状态钩子、副作用钩子、上下文钩子、引用钩子、性能与 React 19 钩子、自定义钩子、Hooks 规则等章节展开,并附有可直接参考的代码示例。

适用场景

  • 为具体用例选择合适的 React 钩子。
  • 使用 useState/useReducer 管理组件状态。
  • 使用 useEffect 处理副作用与清理。
  • 构建自定义可复用钩子。
  • 使用 useMemo 和 useCallback 优化性能。
  • 使用 React 19 并发特性。

限制

资料未提供该技能的安装命令、收费或价格信息、支持平台、效果数据等,这些内容暂未提供。资料明确将状态管理库相关内容指向 react-state-management,将性能与 React 19 钩子的详细覆盖指向 references/performance-and-react-19-hooks.md,将生产级自定义钩子实现指向 references/custom-hooks-library.md。