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

在 Redux 中,reducer 扮演什么角色?请阐述其定义、核心作用以及它在状态管理流程中的位置。

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

考察说明

考查对 Redux 状态管理核心概念 reducer 的理解。

回答思路

  1. 【回答框架 1】reducer 是 Redux 中用于更新状态的纯函数,接收当前 state 和 action,返回新 state。它是状态变更的唯一入口,确保状态可预测。
  2. 【回答框架 2】核心作用:根据 action 类型决定如何计算新状态;保持纯函数特性,不修改原 state,而是返回新对象,便于时间旅行调试和状态追踪。
  3. 【回答框架 3】在数据流中,dispatch(action) 触发 reducer,reducer 基于旧 state 和 action 返回新 state,store 保存新状态并通知订阅者更新视图。
  4. 【关键点 1】reducer 必须为纯函数,无副作用。
  5. 【关键点 2】reducer 不直接修改 state,而是返回新 state 对象。
  6. 【关键点 3】reducer 是状态变更的唯一来源,保证状态可预测。
  7. 【易错点 1】在 reducer 中执行异步操作或产生副作用(如请求、Math.random),破坏纯函数特性,导致状态不可预测。
  8. 【易错点 2】直接修改 state 而非返回新对象,会导致 React 无法检测状态变化,引发组件不更新或调试困难。