我一個終極版的項目正與一幫減速器,它們被組合是否可以創建一個訪問狀態樹的多個分支的選擇器?
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的分支,但我不知道提供這兩種方法。這可能嗎?
工作完美,謝謝。 –