gpt4 book ai didi

angular - ngrx:如何在 createSelector 方法中将参数传递给选择器

转载 作者:太空狗 更新时间:2023-10-29 17:25:26 27 4
gpt4 key购买 nike

我的商店中有一个非常简单的状态:

const state = {
records: [1,2,3],
};

我有一个记录选择器:

export const getRecords = createSelector(getState, (state: State) => state.records));

我现在想要的是有单独的选择器来按索引获取每条记录。为此,我想以这种方式创建一个带有 Prop 的通用选择器:

export const getRecordByIndex = createSelector(
getRecords,
(state: State, { index }) => state.records[index]),
);

然后创建几个特定的​​选择器 e。例如:

export const getFirstRecord = createSelector(
getRecordByIndex(/* somehow pass index = 0 to this selector */),
(firstRecord) => firstRecord),
);

但是当我们在 createSelector 方法中使用它们时,我没有找到任何提及如何将参数传递给带有 Prop 的选择器。可能吗?

最佳答案

来自这篇博文:https://timdeschryver.dev/blog/parameterized-selectors

As of NgRx 6.1 selectors also accepts an extra props argument. Whichmeans you can now define a selector as the following:

export const getCount = createSelector(
getCounterValue,
(counter, props) => counter * props.multiply
);

this.counter = this.store.pipe(
select(fromRoot.getCount, { multiply: 2 })
);

啊……但是重读你的问题,你是在问如何构建另一个使用这个选择器的选择器?上面链接的文章建议构建一个工厂函数。

关于angular - ngrx:如何在 createSelector 方法中将参数传递给选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53546085/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com