在Redux Reducer中读取商店的初始状态

JavaScript

Mandy梅Green

2020-03-12

Redux应用程序中的初始状态可以通过两种方式设置:

  • 将其作为第二个参数传递给createStoredocs link
  • 将其作为第一个参数传递给您的(子)还原器(docs链接

如果将初始状态传递给商店,您如何从商店中读取该状态并将其作为化简器中的第一个参数?

第1354篇《在Redux Reducer中读取商店的初始状态》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

2个回答
达蒙理查德 2020.03.13

您如何从商店中读取该状态并将其作为化简器中的第一个参数?

CombineReducers()为您完成这项工作。编写它的第一种方法并没有真正的帮助:

const rootReducer = combineReducers({ todos, users })

但是另一种,这是等效的,更清楚:

function rootReducer(state, action) {
   todos: todos(state.todos, action),
   users: users(state.users, action)
}
卡卡西Tom 2020.03.13

简而言之:Redux是将初始状态传递给reducer的人,您无需执行任何操作。

当您打电话时,createStore(reducer, [initialState])您是在让Redux知道第一个操作进入时要传递给reducer的初始状态是什么。

您提到的第二个选项仅在创建商店时未通过初始状态的情况下适用。

function todoApp(state = initialState, action)

仅当Redux没有传递状态时,状态才会被初始化

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android