📜  从 redux 导入 createstore - Javascript (1)

📅  最后修改于: 2023-12-03 15:36:14.976000             🧑  作者: Mango

从 Redux 导入 createStore

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 中实现额外的功能,例如异步处理和数据统计。