Форма моего состояния Redux выглядит так:
{
user: {
id: 123,
items: [1, 2]
},
items: {
1: {
...
},
2: {
...
}
}
}
Используя combReducers, у меня есть 2 набора редукторов. Каждое действие действует на один из корневых ключей состояния. т.е. один управляет ключом user
а другой - клавишей items
.
Если я хочу добавить элемент, я могу вызвать 2 редуктора, первый добавит новый объект к items
а второй добавит id в массив user.items
.
У этого плохой запах кода. Я чувствую, что должен быть способ атомизировать состояние обоих объектов одновременно. т.е. в дополнение к субредукторам есть редуктор корня, который действует на корневой объект. Это возможно?