减速器的摘录:
case PRODUCT_SAVED_OK:
return {
...state,
isFetching: false,
didInvalidate: false
// TODO how is this done?
//items[action.item.id]: action.item
// TODO Push the new ID if it was a new Product
};
因此,当保存产品时,我发送一个帖子。如果帖子回来,它会发送新实体(action.item)
状态如下:
state = {
isFetching: false,
didInvalidate: true,
items: new Map(),
itemsIds: []
}
所以项目实际上是map(id - > product),我也有一个id数组。我现在如何更新这些?我想我看到了一些有效但我再也找不到的东西了。 ......项目和...... state.items虽然没有工作。
在sidenode上:这是应该做的吗?没有复制数据,只是在管理选定内容的reducer中有id?
答案 0 :(得分:0)
地图表示为[[key1, value1], [key2, value2]]
因此,为了更新它,请添加[action.item.id, action.item]
:
return {
...state,
isFetching: false,
didInvalidate: false
items: [...state.items, [action.item.id, action.item]]
};