В настоящее время я работаю над проектом магазина 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
.