CombineReducers 和 react-redux 中的良好结构
CombineReducers and good structure in react-redux
我将日历作为应用程序的一部分,并尝试使其可以重复使用。
然后我也用日历做了另一部分
所以我使用了 combineReducers 函数。
import calendar from '../../common/calendar/Reducer';
import insatester from './Reducer';
const reducerCombiner = combineReducers({
calendar,
insatester
});
export default reducerCombiner
然后,我用组合reducer做了一个store
首先似乎工作正常。
但是存储和数据是分开的。
例子)
store.calendar.data1 <- 来自日历
store.insatester.data2 <- 来自 insatester
然后我尝试从 insatester 获取日历事件数据库数据,因为我认为可重复使用的日历不会这样做。
但问题是使用日历应用程序中存储的数据库数据也需要访问 store.insatester,这没有意义。
问题1。我怎样才能组合减速器使商店具有相同的水平?
例子)
store.data1 <- 来自日历
store.data2 <- 来自 insatester
问题2。我的结构有问题吗?我该如何更改它?
您需要编写一个可以访问完整状态的减速器。如您所见,combineReducers
将您限制在状态的单个切片中。您可以将您的自定义 reducer 放在前面来处理需要来自两个切片的数据的操作,然后让其余部分落入 combineReducers
部分。
Redux 文档的这一页解释了:http://redux.js.org/docs/recipes/reducers/BeyondCombineReducers.html#sharing-data-between-slice-reducers
我将日历作为应用程序的一部分,并尝试使其可以重复使用。
然后我也用日历做了另一部分
所以我使用了 combineReducers 函数。
import calendar from '../../common/calendar/Reducer';
import insatester from './Reducer';
const reducerCombiner = combineReducers({
calendar,
insatester
});
export default reducerCombiner
然后,我用组合reducer做了一个store
首先似乎工作正常。
但是存储和数据是分开的。
例子)
store.calendar.data1 <- 来自日历
store.insatester.data2 <- 来自 insatester
然后我尝试从 insatester 获取日历事件数据库数据,因为我认为可重复使用的日历不会这样做。 但问题是使用日历应用程序中存储的数据库数据也需要访问 store.insatester,这没有意义。
问题1。我怎样才能组合减速器使商店具有相同的水平?
例子)
store.data1 <- 来自日历
store.data2 <- 来自 insatester
问题2。我的结构有问题吗?我该如何更改它?
您需要编写一个可以访问完整状态的减速器。如您所见,combineReducers
将您限制在状态的单个切片中。您可以将您的自定义 reducer 放在前面来处理需要来自两个切片的数据的操作,然后让其余部分落入 combineReducers
部分。
Redux 文档的这一页解释了:http://redux.js.org/docs/recipes/reducers/BeyondCombineReducers.html#sharing-data-between-slice-reducers