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