CombineReducers和react-redux中的良好结构

时间:2017-03-16 09:03:35

标签: reactjs redux structure react-redux

我将日历作为应用程序的一部分,并尝试使其可以重复使用。

然后我还使用日历制作了另一部分。

所以我使用了combineReducers函数。

import calendar from '../../common/calendar/Reducer';
import insatester from './Reducer';

const reducerCombiner = combineReducers({
    calendar,
    insatester
});
export default reducerCombiner

然后,我使用组合的减速器来制作商店。

首先似乎工作正常。 但商店和数据是分开的。
例子)
store.calendar.data1< - 来自日历
store.insatester.data2< - 来自insatester

然后我尝试从insatester获取日历事件数据库数据,因为我认为可重用日历不会这样做。 但问题是使用来自日历应用程序的存储数据库数据也需要访问store.insatester,它没有意义。

问题1。如何组合减速器使商店具有相同的水平?
例子)
store.data1< - 来自日历
store.data2< - 来自insatester

问题2。我的结构有问题吗?我怎样才能改变它?

1 个答案:

答案 0 :(得分:0)

您需要编写一个可以访问完整状态的reducer。正如您所见,combineReducers将您限制在州的一个切片上。您可以将自定义缩减器放在前面,以处理需要来自两个切片的数据的操作,并将其余部分放入combineReducers部分。

Redux文档的这一页解释了:http://redux.js.org/docs/recipes/reducers/BeyondCombineReducers.html#sharing-data-between-slice-reducers