首页/对照列表/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 的依赖数组如何触发组件重渲染,useMemouseCallback 的性能优化原理,以及 Hooks 如何通过闭包和链表实现状态管理。工具还整合了常用代码模式,如自定义 Hooks 的封装技巧,帮你从“会用”升级到“精通”。

行业应用场景

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

FAQ 常见问题

  1. useEffect 的依赖数组为空和省略有什么区别? 空数组表示只在组件挂载时执行一次,省略则每次渲染都会执行,可能导致无限循环。
  2. useStateuseReducer 该如何选择? 简单状态用 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 或是希望加入新工具?支持免费提建议或商业私有化定制开发