В настоящее время состояние, которое усложняется, мне интересно, не ошибаюсь ли я, см. Ниже пример редуктора, который я использую.Проект вложенного состояния 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
}
}
}
}
}
};
Лучше ли переместить деньДата к собственному редуктору или не имеет значения?
На мой взгляд, для этого понадобится большой рефакторинг. Никто не сможет прочитать и понять все это за разумное время. Когда вы в конечном итоге распространяете огромное количество свойств из исходного состояния, это хороший признак того, что вам также может потребоваться изменить структуру данных. –
@ BalázsÉdes это то, о чем я думал. Я такой новичок, чтобы поддерживать дизайн, поэтому любая помощь приветствуется. В основном у меня есть 'dayData' per' department'. У этого 'dayData' также есть ключи. – NealVDV
Есть ли способ сделать ваши данные менее «вложенными»? Обрабатывать сущности в отдельных коллекциях и ссылаться на них с помощью идентификатора или чего-то еще? Возможно, проверьте [normalizr] (https://www.npmjs.com/package/normalizr) –