我试图理解为什么当我将以下化简器作为参数传递时,combineReducers
不适用于版本1和2:
import {reducers as summaryReducers} from 'package-A';
import {reducers} from 'package-B';
// Version 1
const store = createStore(combineReducers(summaryReducers, reducers));
// Version 2
const store = createStore(combineReducers({summaryReducers, reducers});
reducers
定义为:const reducers = Object.assign({}, { formState: formReducers });
export { reducers };
summaryReducers
定义为:const reducers = {popUpManager: popUpManagerReducers};
export { reducers };
是
import
将这些化合器作为对象,而我们只能将单个对象传递给combineReducers
的问题吗? 最佳答案
是的,combineReducers
将充满减速器功能的单个对象作为唯一参数。
另外,您可能应该更改导出这些reducer函数的方式。如果将它们导出到对象内部,则在实际调用combineReducers
时引用它们会变得更加复杂。只需从package-a
和package-b
单独导出化简函数。