从商店 NgRx 中按 id 从商店中选择对象

时间:2021-01-27 14:50:47

标签: angular ngrx

如何根据我所在州的 Building 属性从我的州中选择一个 selectedBuildingId

我的商店:

export interface State extends EntityState<Building> {
    selectedBuildingId: string
}

是否有可能有一些类似于这个的选择器,而不是传递给它的 id,它只需要存储中的那个?

export const selectById = (id: string) 
    => createSelector(selectEntities, (buildingsDic) => buildingsDic[id]);

我的解决方案是从商店中获取 id,然后使用 id 获取 Building,但我觉得这不是一个好的解决方案。

1 个答案:

答案 0 :(得分:2)

假设您有一个名为 selectBuildingId 的 selectedBuildingId 选择器,您可以在其他选择器中使用一个选择器。

export const selectById = createSelector(selectEntities, selectBuildingId, (buildingsDic, id) => buildingsDic[id]);

看看NGRX doc