在ngrx存储中使用实体组合选择器

时间:2019-02-28 16:27:01

标签: angular typescript store ngrx ngrx-entity

我目前正在使用ngrx实体进行ngrx商店项目,在其中我想组成一些选择器,如下所示:

export const selectProductById = (productId: number) => createSelector(
  selectProductState,
  productsState => productsState.entities[productId]
);

export const selectCurrentProduct = createSelector(
  selectProductState,
  productsState => productsState.entities[productsState.selectedProductId]
);

我想在selectProductById选择器中使用selectCurrentProduct选择器,像这样:

// doesn't work
export const selectCurrentProduct = createSelector(
  selectProductState,
  productsState => selectProductById(productsState.selectedProductId)
);

语法是什么?这会导致在尝试使用selectCurrentProduct选择器的情况下出现编译错误:

  

类型“ Observable >”不能分配给类型“ Observable <产品>”

更新

感谢所有链接和内容,但是它们并不能真正解决我的问题。我正在寻找使用createSelector()创建的另一个选择器来使用createSelector()创建一个选择器。请在上面查看我的伪代码。我正在尝试使用selectProductById选择器来使用selectProductById

0 个答案:

没有答案