我有一个ngrx存储区(使用打字稿),我想在EntityAdapter减速器中检查某个动作,然后将该动作的有效负载添加到存储区中我项目的每个子项中。下面的例子
我们在状态中有一个对象数组,每个对象都有一个属性,我们也称它X为数组。
[
{x:[]}
,{x:[]}
,{x:[]}
]
我最终想要得到的是:
[
{x:[{y}]}
,{x:[{y}]}
,{x:[{y}]}
]
减速器运行后
这是它的缺点:
export const permissionWithRolesReducer = createReducer(initialPermissionWithRolesState,
on(actions.loadPermissionsWithRolesSuccess,(state,{permissionWithRoles: permissionWithRoles}) =>{
return permissionWithRolesAdapter.upsertMany(permissionWithRoles, state)}),
on(actions.addRole,(state,{newRole: newRole}) =>{
return permissionWithRolesAdapter.???}));
结果是在权限下添加角色。
商店包含权限列表。 每个权限均包含其适用的角色列表。 当我们添加新角色时,我想将其添加到商店中的每个权限中。
有什么想法吗?
答案 0 :(得分:0)
您可以使用map
,它映射到集合中的每个实体(类似于javascript中的[].map()
)。
return permissionWithRolesAdapter.map(entity => ({ ...entity, y: action.y }), state)