如何一次更新所有实体 - NGRX?
How to update all entities at once - NGRX?
我需要更新所有实体中的 isExpanded
属性。我试图用 reduce()
来做到这一点,但得到了带有 v
键的嵌套对象:/
function updateAllIsExpanded(state, isExpanded): any {
return Object.entries(state.entities).reduce(
(p, [k, v]) => ({ ...p, [k]: { v, ...{ isExpanded } } }),
{}
);
}
在 ngrx 文档中我们可以找到类似 updateMany 的内容...但问题是我必须使用 id
和 change
创建对象数组...所以我想这不是一个好主意...
你需要...在v前面:
更新:
function updateAllIsExpanded(state, isExpanded): any {
return Object.entries(state.entities).reduce(
(p, [k, v]: [string, Object]) => ({ ...p, [k]: { ...v, ...{ isExpanded } } }),
{}
);
}
您可能正在寻找 map
。
map: Update multiple entities in the collection by defining a map function, similar to Array.map.
adapter.map(
(entity) => ({...entity, isExpanded })),
state
);
我需要更新所有实体中的 isExpanded
属性。我试图用 reduce()
来做到这一点,但得到了带有 v
键的嵌套对象:/
function updateAllIsExpanded(state, isExpanded): any {
return Object.entries(state.entities).reduce(
(p, [k, v]) => ({ ...p, [k]: { v, ...{ isExpanded } } }),
{}
);
}
在 ngrx 文档中我们可以找到类似 updateMany 的内容...但问题是我必须使用 id
和 change
创建对象数组...所以我想这不是一个好主意...
你需要...在v前面:
更新:
function updateAllIsExpanded(state, isExpanded): any {
return Object.entries(state.entities).reduce(
(p, [k, v]: [string, Object]) => ({ ...p, [k]: { ...v, ...{ isExpanded } } }),
{}
);
}
您可能正在寻找 map
。
map: Update multiple entities in the collection by defining a map function, similar to Array.map.
adapter.map(
(entity) => ({...entity, isExpanded })),
state
);