Ты диспатч в tap делаешь?
зачем вам стейт менеджер вообще
А где createEffect?
упс, а где он делается, я про это упустил?
туплю под вечер, сейчас исправлю) спасибо)
public loadAllMeals$ = this.loadAllMeal(); private loadAllMeal() { return createEffect(() => { return this.actions$.pipe( ofType(MealsActions.loadAllMeals), withLatestFrom(this.authStoreService.selectUser), switchMap(([action, user]) => this.mealsService.findAll(user.uid).pipe( map((meals) => { const serializedMeals = this.serializeMeals(meals); return MealsActions.allMealsLoaded({ meals: serializedMeals }); }), catchError(({ message }) => { return of(MealsActions.loadMealsFailure({ errorMessage: message })); }) )), ); }); }
Как вы чайните экшены?
Что имеется ввиду?
Последовательности экшенов вне эффекта. К примеру 1. есть стейт авторизации (логин, токены и т.д.) 2. есть стейт юзер (там инфо по юзеру, acl и т.д.) В итоге нужно залогиниться, затем получить юзера, используя его acl редиректить куда-то. Сейчас все это делаю через еффекты, но как же мне это не нравиться
Насколько проще это сделать обычным потоком, а экшены tap-ать как сайдэффекты. Насколько данная практика жизнеспособна?
Ты когда делаешь екшин логин у тебя в еффектах вся логика происходит. А в компонентах у тебя селекторы
Вот эта полная инкапсуляция в эффектах мне и не нравиться.
Просто у тебя в компоненте нету возможности контролировать chain. Придется еще с селекторами работать
Знаю что нету. Поэтому и интересуюсь.
Обсуждают сегодня