Hooks 让函数组件拥有状态、生命周期与逻辑复用能力。理解 Hooks 的关键,是两条铁律,以及「每次渲染都是一次函数调用」这个前提。
1. 为什么有 Hooks
Hooks 之前,只有类组件能有状态,逻辑复用靠高阶组件 / render props,导致「层层包裹」和 this 之痛。Hooks 把状态与副作用直接搬进函数组件,并把复用单位从「组件」变成「函数」。
后端类比:Hooks 像切面 / 拦截器——在函数组件的调用链上按顺序登记「状态」「副作用」「缓存」等能力。
2026/10/11大约 7 分钟