术语图鉴/前端基础/Hooks
←→切换Esc返回

Hooks React Hooks

你可能会说

函数组件里怎么用状态和生命周期?以前只有 class 组件才行吧?

Hooks 是 React 让函数组件拥有状态、副作用等能力的 API——useState、useEffect 等。

React 中让函数组件拥有「记忆」和「副作用」能力的函数。useState 记住数据,useEffect 执行副作用。

也常被叫作React Hooks

生活类比

像给机器人加装模块——原本只会显示,加了 useState 模块就能记住东西,加了 useEffect 就能定时做事。

🎮 动手试试

👇 挂载/卸载组件观察 Hook 生命周期

选择题选择一个你认为最合适的答案

关于「Hooks」,以下哪个描述最准确?

你可以这样告诉 AI

帮我用 Hooks 实现:useState 管理搜索词,useEffect 防抖 300ms 后请求 API,useMemo 缓存过滤结果。

容易混淆?这样区分

Hooks React Hooks≠
Class 生命周期 componentDidMount

Hooks 用 useEffect 统一处理挂载/更新/卸载,比分散的生命周期方法更清晰。

Hooks React Hooks≠
工具函数 Utils

Hooks 必须在组件内调用(有渲染上下文),普通工具函数在哪都能调。

什么时候用

函数组件加能力

用 useState 管理状态,useEffect 处理副作用(请求数据、订阅事件),让函数组件拥有 class 组件的全部能力。

和 AI 协作时

想让 AI 用 Hooks 时,直接说「用 useState 存搜索词,useEffect 防抖 300ms 请求 API,useMemo 缓存结果」。

什么时候不用

Vue/Svelte 项目

Hooks 是 React 专属概念,Vue 用 Composition API、Svelte 用 runes,各有各的状态管理方式。

与 React 无关的项目

不涉及 React 的项目不需要理解 Hooks。

组成结构 · Anatomy

1
核心概念Core

React 中让函数组件拥有「记忆」和「副作用」能力的函数。useState 记住数据,useEff

2
实际表现In Practice

像给机器人加装模块——原本只会显示,加了 useState 模块就能记住东西,加了 useEffec

3
与 AI 的关联AI Context

AI 代码里的 `const [count, setCount] = useState(0)` 就是

典型使用场景

搜索防抖 Hook
告诉 AI「帮我用 useState 和 useEffect 写一个搜索框:输入后 300ms 防抖再请求接口,结果显示在下拉列表里」
想弄懂概念时
告诉 AI「用大白话给我解释什么是Hooks,举个生活中的例子」

延伸阅读