我目前正在使用 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<emoizedSelector<object, Product>>”不可分配给类型“Observable<Product>”
更新
感谢所有的链接和东西,但他们并没有真正解决我的问题。我正在寻找createSelector()
使用另一个选择器创建一个选择器,该选择器也是由createSelector()
. 请看我上面的伪代码。我正在尝试使用选择器来使用selectProductById
te selectProductById
。