Составление селекторов в магазине ngrx с сущностями

В настоящее время я работаю над проектом магазина 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(). Пожалуйста, смотрите мой псевдокод выше. Я пытаюсь использовать te selectProductById с помощью селектора selectProductById.


person serlingpa    schedule 28.02.2019    source источник
comment
Это может помочь вам с некоторыми идеями, касающимися параметризованных селекторов: 53546233" title="ngrx, как передать параметры селектору внутри метода createselector"> stackoverflow.com/questions/53546085/, если это то, что вы ищете.   -  person R. Richards    schedule 28.02.2019
comment
Возможный дубликат ngrx: как передать параметры селектору внутри метод createSelector   -  person timdeschryver    schedule 28.02.2019