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

请说明 Redux 的核心组成部分分别承担什么职责,以及它们之间如何协作完成状态管理?

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

考察说明

考查对 Redux 核心组件及其职责和协作机制的理解。

回答思路

  1. 【回答框架 1】Redux 由 Store、Action、Reducer 三个核心组件构成。Store 是单一状态容器,负责保存整个应用的状态树,并提供 getState、dispatch、subscribe 三个核心方法。Action 是描述状态变化的普通对象,必须包含 type 字段,用于标识操作类型,可携带 payload 数据。Reducer 是纯函数,接收当前 state 和 action,返回新的 state,不修改原状态。
  2. 【回答框架 2】协作流程为:组件通过 dispatch 发送 Action,Store 将当前 state 和 Action 传给 Reducer,Reducer 计算并返回新 state,Store 保存新 state 并通知订阅者。数据流是单向的,保证状态变化可预测。
  3. 【回答框架 3】Redux 还常配合中间件(如 redux-thunk、redux-saga)处理异步逻辑,中间件在 dispatch 和 Reducer 之间拦截 Action,实现副作用处理。此外,connect 或 useSelector 等 API 用于将 Store 与 React 组件连接。
  4. 【回答框架 4】核心原则包括单一数据源、状态只读、使用纯函数修改状态。这些原则确保状态管理的一致性和可调试性。
  5. 【关键点 1】Store 是唯一数据源,提供 getState、dispatch、subscribe。
  6. 【关键点 2】Action 是带 type 字段的普通对象,描述发生了什么。
  7. 【关键点 3】Reducer 是纯函数,根据旧 state 和 action 返回新 state。
  8. 【关键点 4】数据流单向:dispatch(action) -> reducer -> new state -> 通知订阅者。
  9. 【关键点 5】中间件用于处理异步或复杂副作用,位于 dispatch 与 reducer 之间。
  10. 【易错点 1】不要直接在 Reducer 中修改 state,必须返回新对象。
  11. 【易错点 2】Action 必须包含 type,否则 Reducer 无法识别。
  12. 【易错点 3】避免在 Reducer 中执行副作用操作,如 API 调用或随机数生成。