在构建redux应用程序时,是否正确找到传递给CombineReducers对象的化简器之间的依赖关系?更详细地说,如果我有两个化简器处理状态的不同部分,但都听同一个动作,那么安排化简器以在R2之前处理R1是否正确(或可行)?还是表明可能存在设计缺陷?
答案 0 :(得分:0)
在构建redux应用程序时,contractReducers中reduce的顺序安排是否重要?
不。 combineReducers()
基本上只是映射,而不是有序列表。
安排减速器,以便在R2之前处理R1是否正确(或可行)?还是表明可能存在设计缺陷?
Reducer之间完全不应该有任何依赖关系。如果存在依赖关系,那将是设计缺陷。
归约器只关心基于操作来更新整个state
对象的唯一部分或切片。
如果要顺序更新状态,请检查redux-saga或让组件按顺序分派两个单独的动作。
答案 1 :(得分:0)
就我编写减速器而言,它们在combineReducers()
调用中的顺序安排无关紧要。
您可能会有类似以下的内容:
import { combineReducers } from "redux";
import { reducer as formReducer } from "redux-form";
import authReducer from "./authReducer";
export default combineReducers({
auth: authReducer,
form: formReducer
});
请注意,我有一个来自Redux Form的formReducer
,它不是Reduce Form库附带的简化版,您可以在自己的reducers/
文件夹中手动写出它,还注意到我导入了formReducer
首先,但我将其分配给combineReducers
对象内的第二名,所以没有,没有必要。