Redux Store 是 Redux 应用程序中的核心概念之一。它是存储应用程序状态的容器,包含了应用程序中的所有状态数据。
Redux Store 是一个普通的 JavaScript 对象,具有以下几个主要特点:
1. 存储状态:Redux Store 保存整个应用程序的状态,以一个单一的状态树的形式存储。这个状态树通常是一个由多个 Reducer 组合而成的对象,每个 Reducer 负责管理状态树的一个分支。
2. 获取状态:通过调用 Redux Store 的 `getState` 方法,可以获取当前的状态树对象。
3. 分发 Action:通过调用 Redux Store 的 `dispatch` 方法,可以派发(dispatch)一个 Action,从而触发状态的更新。当 Action 被派发时,Redux Store 会将 Action 传递给 Reducer 处理,并根据 Reducer 的逻辑来更新状态。
4. 注册监听器:可以通过 Redux Store 的 `subscribe` 方法注册监听器,用于在状态变化时执行回调函数。这样可以实现对状态变化的监听和响应。
5. 应用中间件:Redux Store 允许使用中间件来扩展和定制 Redux 的行为。中间件可以对派发的 Action 进行拦截、处理副作用、异步操作等。
Redux Store 的创建是通过 Redux 的 `createStore` 函数来完成的。`createStore` 函数接收一个 Reducer 作为参数,并返回一个 Redux Store 对象。可以将多个 Reducer 组合成一个根 Reducer,并传递给 `createStore` 函数。
以下是一个创建 Redux Store 的示例代码:
import { createStore } from 'redux';
import rootReducer from './reducers'; // 导入根 Reducer
// 创建 Redux Store,传入根 Reducer
const store = createStore(rootReducer);
通过 Redux Store,可以统一管理应用程序的状态,实现状态的变化和状态数据的共享。通过派发 Action,触发状态的更新,再通过订阅和获取状态,可以在应用程序中获取最新的状态数据,并作出相应的响应和处理。