首页/对照列表/React Hooks 备忘

React 备忘单

React hooks 和组件的快速参考。

hook

useState

Returns a stateful value and a function to update it.
状态值名
设置函数名
初始值
const [count, setCount] = useState(0);
hook

useEffect

Perform side effects in function components.
依赖项数组
useEffect(() => { // side effect code return () => { /* cleanup */ }; }, []);
hook

useContext

Accepts a context object and returns current value.
const value = useContext(MyContext);
state

useReducer

Alternative to useState for complex logic.
处理函数名
const [state, dispatch] = useReducer(reducer, initialArg);
ref

useRef

Access DOM nodes or persist values between renders.
引用名
const inputRef = useRef(null);
perf

useMemo

Returns a memoized value.
缓存变量名
const expensiveData = useMemo(() => compute(a, b), [a, b]);
perf

useCallback

Returns a memoized callback.
const callback = useCallback(() => { doAction(a, b); }, [a, b]);
perf

React.memo

Skips re-rendering if props are identical.
const MyComp = React.memo((props) => { return <div>{props.val}</div>; });
state

useTransition

Marks state updates as non-urgent.
const [isPending, startTransition] = useTransition();
util

useId

Generates unique IDs (A11y/Forms).
唯一ID名
const userId = useId();

功能简介

React Hooks 备忘

React (Modern Hooks) 全息速查。聚合从 useState, useEffect 到自定义 Hooks、性能优化 (memo, useMemo) 的全部核心用法,助您掌握组件驱动之美。

如何使用

1. 浏览特定的 API 对应场景;2. 参考最佳的组件生命周期管控逻辑;3. 复制对应的代码骨架并快速集成到您的项目中。

安全保障

纯教程呈现。本工具不分析您的 React 项目依赖树,不获取您的组件私密逻辑。

100% Client Side
📘 使用指南与技术说明

React Hooks 备忘:开发者的摸鱼神器

痛点引入

还在为记不住 Hooks 的用法而疯狂翻文档?每次写 useEffect 都要查依赖数组怎么写?联调时因为生命周期问题疯狂踩坑?这个 React Hooks 备忘工具就是为你准备的!告别低效搜索,一键速查核心 Hooks、生命周期对应关系,让你把时间花在真正重要的代码逻辑上。

核心功能深度解析

这个工具不只是简单罗列 API,它帮你理清了 Hooks 背后的技术逻辑。比如 useEffect 的依赖数组如何触发组件重渲染,useMemo 和 useCallback 的性能优化原理,以及 Hooks 如何通过闭包和链表实现状态管理。工具还整合了常用代码模式,如自定义 Hooks 的封装技巧,帮你从“会用”升级到“精通”。

行业应用场景

  • 联调阶段:快速对照生命周期,定位 useEffect 的副作用问题。
  • 测试环境:参考备忘中的代码模式,编写更稳定的单元测试。
  • 生产环境:优化性能,使用 useMemo 避免不必要的计算,提升应用响应速度。

FAQ 常见问题

  1. useEffect 的依赖数组为空和省略有什么区别? 空数组表示只在组件挂载时执行一次,省略则每次渲染都会执行,可能导致无限循环。
  2. useState 和 useReducer 该如何选择? 简单状态用 useState,复杂状态逻辑或需要多个子值更新时用 useReducer。
  3. 自定义 Hooks 有哪些最佳实践? 命名以 use 开头,确保只在顶层调用,避免在循环或条件中使用。
  4. Hooks 会替代 Class 组件吗? 官方推荐新项目使用 Hooks,但 Class 组件仍可维护,两者可共存。

技术科普/延伸阅读

Hooks 基于 React 的 Fiber 架构实现,其设计遵循函数式编程理念。未来可能引入更多 Hooks,如并发模式下的新 API。想深入了解,可以阅读 React 官方 RFC 文档,探索 Hooks 的未解之谜,比如如何更优雅地处理异步副作用。

📖 精选技术文章推荐

那些藏在 URL 里的双重编码漏洞:一次 SQL 注入的完整路径

明明部署了昂贵的 WAF 防火墙,为什么数据库还是被拖库了?黑客并没有使用什么零日漏洞,而是巧妙地利用了 URL 的“双重编码”特性。本文将带你重构一次真实的攻击路径,揭示架构分层中的安全盲区,以及开发者最容易犯的致命错误。

那个把对象直接 toString 传进 URL 的同事,把我们的接口搞崩了

一个前端新人的失误:'?filter=[object Object]',让后端的 JSON.parse 直接崩溃,引发了一场 P3 级事故。本文深入探讨 JSON 与 GET 参数互转的种种陷阱:嵌套对象怎么传?数组怎么解析?URL 长度限制在哪里?以及如何避开这些暗坑。

计算机差点变成巴别塔:Unicode 发明前,我们如何处理多语言文字

在 UTF-8 统治世界之前,计算机世界曾是一片混乱的割据地。为了显示中文、日文或希腊文,开发者们发明了无数互不兼容的“代码页”。本文带你回顾那段满是乱码、冲突与妥协的编码演进史,理解 Unicode 存在的终极意义。

消失的字符:处理民族文字展示时的编码与渲染深坑

在开发文本分析工具时,我们发现 UTF-8 并不是万能药。当遇到藏文的叠加字、维吾尔文的 RTL 镜像渲染以及复杂的 Unicode 代理对时,传统的字符串处理逻辑会瞬间失效。本文记录 daima.life 在适配多元文字时的技术复盘。

💡 想要更多功能?

发现 Bug 或是希望加入新工具?支持免费提建议或商业私有化定制开发。