【发布时间】:2019-02-16 03:25:46
【问题描述】:
假设我有一个具有这种形状的全局状态减速器:
全局减速器:
const globalInitialState = {
userId: 0,
year: 1900
}
然后我有一个基于这些全局参数的数据状态缩减器:
总结减速器:
2018 年用户 10 的数据
const summaryDataInitialState = [{data for user 10, 2018}, {data}, {data}];
要更新“摘要数据”,我有一个异步 redux-thunk 操作:
总结行动:
getSummary = (userId, year) => {
return async dispatch => {
let data = await api.getData(userid, year);
dispatch(success(data));
}
}
但是当您全局更改年份时,我应该如何触发更新摘要数据?
我应该从我的“updateYear”操作中调用摘要操作“getSummary”还是这是一个糟糕的模式/设计?我不喜欢这种将“summaryActions”与“globalActions”联系起来的方式。再往前走,当这些全局变量改变时,可能需要改变很多很多“子状态”。另外,我不希望 userId, year 的初始设置触发获取应用程序中的所有状态,我想根据需要检索它。
【问题讨论】:
标签: reactjs design-patterns redux