我一个终极版的项目正与一帮减速器,它们被组合是否可以创建一个访问状态树的多个分支的选择器?
const rootReducer = combineReducers({
reducer1,
reducer2,
...
});
的减速每次更新商店
sampleStore = {
reducer1: {a1: 7, b1: 5, c1: 6, ...},
reducer2: {a2: 3, b2: 2, c2: 9, ...},
reducer3: {a3: 1, b3: 4, c3: 2, ...},
...
}
现在我尝试添加逻辑的一个分支,需要访问到商店的两个分支,而不用重新构建整个项目。例如,我想要一个能够执行的减速器:set c3 = f(a1, a2)
。
目前我正在尝试使用重新选择,但我迷路了。在reducer1/selector.js我
export const derivedVariableSelector = createSelector(
a1Selector,
a2Selector,
(a1, a2) => a1 + a2
);
,我试图创建一个减速
function setC3(state) {
return Object.assign({}, state, {
c3: state.c3 + derivedVariableSelector(state)
});
}
然而,当setC3被调用,derivedVariableSelector将永远不会得到足够的店里做其工作。要么它会收到包含a1的分支或包含a2的分支,但我不知道提供这两种方法。这可能吗?
工作完美,谢谢。 –