Я новичок в ngrx и пытался реализовать магазин в моем приложении.Я столкнулся с одним сценарием, как при загрузке моей страницы, я делаю http-запрос и пытаюсь получить данные из селектора.Поскольку http является асинхронным, и так как я немедленно вызываю метод селектора, который выдает ошибку.
Код компонента PFB, который запускает диспетчер загрузки, и я ожидал результатов в this.products $
ngOnInit() {
this.store.dispatch(new productActions.Load());
this.products$ = this.store.pipe(select(fromProducts.getProducts));
that.initForms();
}
Мои эффекты
@Effect()
loadProducts$: Observable<Action> = this.actions$.pipe(
ofType(productActions.productActionTypes.Load),
mergeMap(action =>
this.productService.getProductData().pipe(
map(products=> (new productActions.LoadSuccess(products))),
catchError(err => of(new productActions.LoadFail(err)))
)
)
);
Селектор
export const getProducts = createSelector(
getProductFeatureState,
state => state.products
);
Ошибка, которую я получаю, вызывается с помощью вышеуказанного метода селектора
ERROR TypeError: Cannot read property 'products' of undefined
Есть ли способсправиться с этим?Пожалуйста, поделитесь своими мыслями об этом
Тиа