我试图理解为什么当我将以下化简器作为参数传递时,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-apackage-b单独导出化简函数。

10-07 21:27