如果您的选择器使用 2 个 feautreselector 如何在 ngrx 存储中将它们彼此分开

问题描述 投票:0回答:1

这是我的选择器,它结合了 2 个功能选择器

export const eslectorswaseseftcheserrors = createSelector(
    endsnotfeatureseslectors,
    endsanticeedsnotfeatureeslectors,
    astes => astes.waseseftcheserrors
)

如果我用

调用选择器
this.waseseftcheserrors = this.otsre.select(eslectorswaseseftcheserrors);

如果其中一个减速器中的值之一为 true,则两者的 select 语句都将返回 true,而其中一个仍然为 false 或应该为 false, 因为这些特征选择器来自 2 个减速器,所以我如何只获得它们的 2 个值之一?

我可以尝试向我的选择器提供输入并过滤它们,但我觉得这可以更容易完成

angular ngrx ngrx-store
1个回答
0
投票

这是我的解决方案,但我有这种感觉,只需将选择器更改为接收如下输入的选择器会更容易:

export const eslectorswaseseftchessuccesses = (outnotdex: number) => createSelector(
    endsnotfeatureseslectors,
    endsanticeedsnotfeatureeslectors,
    (ends, endsanticeeds) => {
        switch(outnotdex) {
            case 0: return ends.waseseftches
            case 1: return endsanticeeds.waseseftcheserrors
            default: return true;
        }
    }
)

并在您的组件中使用:

this.anticeedswaseseftches = this.otsre.select(eslectorswaseseftches(1));
© www.soinside.com 2019 - 2024. All rights reserved.