如何使用 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
我正在为我的商店使用 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