Каков наилучший/правильный способ обновления вложенного массива данных в хранилище с помощью сокращения?
Мой магазин выглядит следующим образом:
{
items:{
1: {
id: 1,
key: "value",
links: [
{
id: 10001
data: "some more stuff"
},
...
]
},
...
}
}
У меня есть пара асинхронных действий, которые обновляют полный объект items
, но у меня есть другая пара действий, которые я хочу обновить для определенного массива links
.
В настоящее время мой редуктор выглядит так, но я не уверен, что это правильный подход:
switch (action.type) {
case RESOURCE_TYPE_LINK_ADD_SUCCESS:
// TODO: check whether the following is acceptable or should we create a new one?
state.items[action.resourceTypeId].isSourceOf.push(action.resourceTypeLink);
return Object.assign({}, state, {
items: state.items,
});
}