如何使用 ngrx 实体选择器?

how to use ngrx entity selectors?

我正在为我的商店使用 ngrx 实体 我无法 select 商店实体 select 的问题。 我按照这个例子中的代码做了 https://github.com/angular-university/angular-ngrx-course/blob/master/src/app/courses/course.selectors.ts

在我的情况下,当我在商店中使用 select 时,我得到的是商店对象而不是实体。

这是我的减速器:

这是select各位:

这是组件:

这是来自商店 select 的日志,我期待一个实体对象,我得到了这个:

这是商店:

这是因为选择器被包裹在一个函数中。

const selectAll = () => createSelector(selectFoo, entities.selectAll);

因此您必须调用该函数,以获取选择器的数据而不是存储。

this.data = this.store.select(selectAll());

但我的问题是为什么选择器被包裹起来,这并不是真正需要的。你可以这样做:

const selectAll = createSelector(selectFoo, entities.selectAll);

在您的组件中,您可以像现在一样使用它:

this.data = this.store.select(selectAll);

更多信息,请查看我的文章NgRx: Parameterized selectors