我有一個減速的樹,看起來像這樣:減少與終極版combineReducers的整個子樹
module.exports = combineReducers({
routing: routeReducer,
app: combineReducers({
setup: combineReducers({
sets,
boosters
}),
servers: combineReducers({
servers
})
})
});
現在setup
鍵認爲,需要進行重置一次,我們已經提交了它的形式。然而,我無法訪問整個setup
樹,因爲使用combineReducers意味着reducer只處理樹的葉節點處的數據(在這種情況下爲sets
和boosters
)。
我首先想到的是使減少這樣整個安裝樹的功能:
function setup(state, action){
//If there's an action that affects this whole tree, handle it
switch(action.type){
case "FORM_SUBMIT": //DO STUFF
break;
}
//Otherwise just let the reducers care about their own data
return combineReducers({
sets,
boosters
})(state);
}
但是,這並不工作,也打亂了我的第一個代碼示例的很好的樹結構。
有沒有更好的解決方案,這與redux?
的確!當我第一次調用subReducer然後根據動作操縱它時,它完美運行。好的解決方案 – Miguel