当前有一个越来越复杂的状态,我想知道如果我做错了,请参阅下面的示例我正在使用的减速器。Redux嵌套状态设计
case RECEIVE_DEPARTMENT_DAYDATA:
return {
...state,
departments: {
...state.departments,
[action.payload.targetDepartment]: {
...state.departments[action.payload.targetDepartment],
dayData: {
...state.departments[action.payload.targetDepartment].dayData,
[action.payload.day]: {
...state.departments[action.payload.targetDepartment].dayData[action.payload.day],
[action.payload.targetField]: {
...action.payload.data,
isFetching: false,
receivedAt: new Date(),
didInvaldiate: false,
didCall: true
}
}
}
}
}
};
将dayData移动到自己的reducer还是没有区别?
在我看来,这需要一个大的重构。任何人都无法在合理的时间内阅读和理解这些内容。当您最终从原始状态传播大量属性时,这是一个好兆头,您可能还需要更改数据结构。 –
@BalázsÉdes这就是我的想法。我是设计邦的新手,所以任何帮助都是值得欢迎的。基本上我有'每个部门''dayData'。这个'dayData'也有键。 – NealVDV
有什么办法可以让你的数据减少“嵌套”?在不同的集合中处理实体,并通过id或其他东西引用它们?也许退房[normalizr](https://www.npmjs.com/package/normalizr) –