当我将以下 reducer 作为参数传递时,我试图理解为什么 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
将这些reducer作为对象获取,而我们只能将单个对象传递给combineReducers
吗?
最佳答案
是的,combineReducers
将一个充满reducer函数的对象作为其唯一的参数。
此外,您可能应该更改导出这些 reducer 函数的方式。如果将它们导出到对象内部,那么当您实际调用combineReducers
时,引用它们将会变得更加复杂。只需从 package-a
和 package-b
中导出 reducer 函数即可。
关于javascript - 使用 import as 将参数传递给combineReducers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46100346/