本页面介绍了 Redux 库的核心 API 函数和概念。虽然 Redux Toolkit 现在是编写 Redux 逻辑的推荐方法(详情请参阅Redux Toolkit),但了解核心 API 能提供对 Redux 基本原理和操作的宝贵见解。
Redux 核心 API 由几个关键函数组成,这些函数通过单向数据流模式实现可预测的状态管理。本文档涵盖了主要的 API 方法和概念:
来源: src/index.ts1-50 docs/api/createStore.md1-93 docs/api/Store.md1-147
Redux store 是保存应用程序完整状态树的中心对象。它提供了一个小巧的 API 接口,包含几个与应用程序状态交互的关键方法。
Store 是使用 createStore 函数创建的,但现在推荐使用 Redux Toolkit 的 configureStore。
来源: docs/api/createStore.md1-64 src/createStore.ts1-100
store 对象提供了四个关键方法:
来源: docs/api/Store.md16-147 src/types/store.ts81-165
返回应用程序当前的状态树。它反映了 store 的 reducer 返回的最新值。
来源: docs/api/Store.md18-26 src/createStore.ts176-186
向 store 分发一个 action,触发状态更新过程。这是 Redux 中触发状态改变的唯一方式。
action 必须是一个包含 type 属性的普通对象。从 Redux 5.0 开始,type 必须是字符串。
来源: docs/api/Store.md31-78 src/createStore.ts280-319
添加一个变更监听器,每当 action 被分发且状态可能已改变时,该监听器将被调用。
来源: docs/api/Store.md84-132 src/createStore.ts211-253
替换当前 store 用于计算状态的 reducer。这主要用于代码分割和热模块替换。
来源: docs/api/Store.md138-147 src/createStore.ts330-346
Redux 遵循单向数据流,状态变化由分发 action 触发,这些 action 经由 reducer 处理以产生新的状态。
来源: docs/api/Store.md7-14 src/createStore.ts255-319
Reducer 是一个纯函数,它接收当前状态和一个 action,并返回下一个状态。Reducer 必须:
来源: src/types/reducers.ts1-34 docs/api/combineReducers.md77-85
核心 API 包含几个简化 Redux 使用的实用函数。
combineReducers 函数将一个 reducer 函数对象转换为一个单一的 reducer 函数。这使得可以按状态领域拆分 reducer 逻辑。
来源: docs/api/combineReducers.md1-161 src/combineReducers.ts1-201
来源: docs/api/combineReducers.md36-52 src/combineReducers.ts96-113
applyMiddleware 函数是一个 store 增强器,允许你拦截和修改分发的 action。这是用自定义功能扩展 Redux 的推荐方式。
来源: docs/api/applyMiddleware.md1-232 src/applyMiddleware.ts1-77
每个中间件接收 getState 和 dispatch 函数,并返回一个接收 next 中间件的函数。该函数又返回一个接收 action 并决定是传递、转换还是生成新 action 的函数。
来源: src/types/middleware.ts1-30 docs/api/applyMiddleware.md14-30
来源: docs/api/applyMiddleware.md22-24 docs/api/applyMiddleware.md70-202
bindActionCreators 函数将一个 action 创建器函数对象转换为一个具有相同键的对象,但每个函数都被包装在一个 dispatch 调用中。
来源: docs/api/bindActionCreators.md1-113 src/bindActionCreators.ts1-83
这主要用于将 action 创建器传递给不了解 Redux 但需要分发 action 的组件时。
来源: docs/api/bindActionCreators.md17-19 docs/api/bindActionCreators.md76-110
compose 函数是一个实用工具,它将多个函数从右到左组合起来。它用于将多个 store 增强器组合成一个。
来源: docs/api/compose.md1-52 src/compose.ts1-61
Redux 实现严格的单向数据流,使状态变化可预测且可追踪。
来源: docs/api/Store.md7-14 src/createStore.ts255-319
来源: docs/api/Store.md7-14 src/createStore.ts255-319
Redux 核心 API 仍在运行,但已弃用,转而推荐使用 Redux Toolkit 更易于开发者使用的 API。
createStore 已弃用,推荐使用 RTK 的 configureStore。createSlice 可以更轻松地直接组合 reducer。createSlice 和 createAction 取代。configureStore 中自动化。来源: docs/api/createStore.md15-26 docs/usage/migrations/migrating-rtk-2.md27-92
Redux 核心包含其所有 API 的完整 TypeScript 定义。
| API 元素 | 主要 TypeScript 接口 |
|---|---|
| Store | Store<S, A>, Dispatch<A> |
| Reducer | Reducer<S, A>, ReducersMapObject<S, A> |
| 操作 | Action, UnknownAction |
| 中间件 | Middleware, MiddlewareAPI |
| 增强器 | StoreEnhancer, StoreCreator |
来源: src/types/store.ts27-232 src/types/reducers.ts1-114 src/types/middleware.ts1-30
尽管本文档涵盖了 Redux 核心 API,但现代 Redux 应用程序应使用 Redux Toolkit (RTK),它提供了:
有关使用 RTK 的详细信息,请参阅 Redux Toolkit 页面。
来源: docs/api/createStore.md15-26 docs/api/applyMiddleware.md16-20 docs/api/combineReducers.md18-32
刷新此 Wiki
最后索引时间2025 年 4 月 18 日 (304031)