前端/移动开发面试题更新 2026-08-05

请阐述 React Hooks 的核心思想,并通过具体代码示例说明 useState 与 useEffect 的典型使用场景及各自作用。

前端/移动开发技术原理React

考察说明

考查对 React Hooks 机制的理解,以及 useState 和 useEffect 的实际运用能力。

回答思路

  1. 【回答框架 1】React Hooks 是 React 16.8 引入的函数式组件状态与副作用解决方案,允许在函数组件中使用 state 和生命周期特性。核心思想是让逻辑复用更简洁,无需修改组件结构。
  2. 【回答框架 2】useState 返回一个状态值和更新函数。例如 const [count, setCount] = useState(0),调用 setCount 会触发重新渲染。更新函数支持函数式更新,便于基于旧值计算新值。
  3. 【回答框架 3】useEffect 用于执行副作用,接收一个回调函数和依赖数组。依赖数组为空时表示仅挂载后执行;包含变量时,变量变化后执行;不传依赖数组则每次渲染后执行。需注意清理函数的使用,避免内存泄漏。
  4. 【回答框架 4】Hooks 必须顶层调用,不能在条件、循环或嵌套函数中使用,以保证状态顺序稳定。自定义 Hooks 可通过以 use 开头的函数封装共享逻辑,实现状态和副作用复用。
  5. 【关键点 1】useState 用于管理组件状态,useEffect 用于处理副作用。
  6. 【关键点 2】Hooks 只能作用于函数组件,且需顶层调用。
  7. 【关键点 3】useEffect 依赖数组控制执行频率,空数组表示仅执行一次。
  8. 【易错点 1】忘记设置依赖数组会导致每次渲染都执行 effect,可能引发性能问题。
  9. 【易错点 2】在循环或条件中使用 Hooks 会破坏状态顺序,引发不可预期错误。
  10. 【易错点 3】useEffect 中的异步操作需考虑竞态条件,合理使用清理函数。