【问题标题】:CombineReducers and good structure in react-reduxreact-redux 中的 CombineReducers 和良好的结构
【发布时间】:2017-03-16 09:03:34
【问题描述】:

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

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

所以我使用了 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 获取日历事件数据库数据,因为我认为可重复使用的日历不会这样做。 但问题是使用日历应用程序中存储的数据库数据也需要访问 store.insatester,这没有意义。

问题1。如何组合减速器以使商店具有相同的水平?
示例)
store.data1 store.data2

问题2。我的结构有问题吗?怎么改?

【问题讨论】:

  • 那么,你需要访问组件或reducer中的数据吗?
  • 在日历组件中,但需要访问store.insatester中的数据。所以重用组件看起来很奇怪。

标签: reactjs redux structure react-redux


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2018-12-10
    • 2022-08-19
    • 2022-07-16
    • 2021-04-16
    • 1970-01-01
    • 2016-03-03
    • 1970-01-01
    • 2011-05-14
    • 2018-12-15
    相关资源
    最近更新 更多