1

我有特征缩减器,例如LoadReducerDeleteReducerCreateReducer. 它们都只是简单的减速器。(另外我有一个名为 namedReducer 的高阶减速器

export function namedReducer(reducerName: string) {
    return (reducer: Function) => {
        return function newReducer(state, action) {
            const { name } = action;
            const isInitializationCall = state === undefined;
            const shouldRunWrappedReducer = reducerName === name || isInitializationCall;
            return shouldRunWrappedReducer ? reducer(_.get(state, reducerName), action) : state;
        };
    };
}

我想在我的应用程序状态中创建子状态,这些子状态正在使用我的功能缩减器的子集。例如:

应用状态:

{
  bananaState: namedReducer('banana')(/* here chaining together CreateReducer and LoadReducer */),
  appleState: namedReducer('apple')(/* here chaining together LoadReducer, DeleteReducer */) 
}

有了这个,当我调度一个动作时{name: 'banana', type: 'Load'},它会遇到香蕉 LoadReducer。是否有任何模式或任何建议?我已经尝试过compose,但也combineReducers没有运气。我错过了什么。有没有将功能链接在一起的工具。

非常感谢。

问候, 塔马斯

4

1 回答 1

0

我在此评论中找到了解决方案:https ://github.com/reactjs/redux/issues/1920#issuecomment-243921970

于 2018-03-29T11:27:42.120 回答