Допустим, у меня есть глобальный редуктор состояний, который имеет такую форму:
глобальный редуктор:
const globalInitialState = {
userId: 0,
year: 1900
}
Тогда у меня есть редуктор состояний для данных, основанных на этихглобальные параметры:
сводный редуктор:
Данные пользователя 10 за 2018
const summaryDataInitialState = [{data for user 10, 2018}, {data}, {data}];
для обновления "сводных данных«У меня есть асинхронное избыточное действие:
Сводные действия:
getSummary = (userId, year) => {
return async dispatch => {
let data = await api.getData(userid, year);
dispatch(success(data));
}
}
Но когда вы меняете год в глобальном масштабе, как я должен инициировать обновление сводных данных?
Должен ли я вызывать суммарное действие getSummary из моего действия updateYear или это плохой шаблон / дизайн?Мне не нравится, как это связывает "summaryActions" с "globalActions".И в дальнейшем, возможно, потребуется изменить множество «подсостояний», когда эти глобальные перемены будут изменены.Кроме того, я не хочу, чтобы начальная установка userId, year инициировала получение всех состояний в приложении, я хочу получить это по мере необходимости.