📅  最后修改于: 2023-12-03 15:36:14.976000             🧑  作者: Mango
Redux 是一个流行的、可预测的状态管理库,它提供了一种简单的方式来管理应用程序的状态。在 Redux 中,我们使用一个单一的 store 来管理我们的应用程序状态。这个 store 包含了所有的状态,并且可以被任何组件访问。
创建一个 Redux store 非常简单。我们只需要从 Redux 中导入 createStore 方法,并传入一个 reducer 参数。reducer 是一个纯函数,它接收当前的 state 和一个 action,返回一个新的 state。
import { createStore } from 'redux';
const initialState = {
count: 0,
};
function counterReducer(state = initialState, action) {
switch (action.type) {
case 'INCREMENT':
return {
...state,
count: state.count + 1,
};
case 'DECREMENT':
return {
...state,
count: state.count - 1,
};
default:
return state;
}
}
const store = createStore(counterReducer);
console.log(store.getState().count); // Output: 0
在上面的代码中,我们首先定义了初始状态 initialState,它包含一个名为 count 的属性,初始值为 0。接着定义了 reducer 函数 counterReducer,它会根据传入的 action 在当前 state 上进行修改,并返回一个新的 state 对象。最后,我们使用 createStore 方法创建了一个新的 store,将 counterReducer 作为参数传入。
现在,我们可以通过 store 对象来访问我们的应用程序状态。例如,在上面代码的最后一行中,我们使用 getState 方法获取当前的 state,并从中提取出 count 属性的值。
Redux 的 createStore 方法还支持在创建 store 时为其指定中间件。通过使用中间件,我们可以在 Redux 中实现额外的功能,例如异步处理和数据统计。