Я хочу отправить действие при инициализации хранилища ngrx (@ngrx/store/init
). Я создал эффект для этого:
@Effect()
reloadConext$ = this.actions$.pipe(
ofType(INIT),
switchMap(() => {
console.info('INIT ACTION');
//dispatch my action here
return of([]);
}
Эффект не запускается при отправке действия store init. У меня есть модули эффектов для root, зарегистрированные в app.module:
EffectsModule.forRoot([AppEffects]),
Если я удалю фильтр действий ofType
, событие будет запущено. Кто-нибудь знает, что фильтр для действия init не работает?
Заранее спасибо.
Я думаю, вы ищете метод жизненного цикла ROOT_EFFECTS_INIT или onInitEffects для некорневых эффектов.
ROOT_EFFECTS_INIT из документации:
@Effect()
init$ = this.actions$.pipe(
ofType(ROOT_EFFECTS_INIT),
map(action => ...)
);
onInitEffects из документации:
class UserEffects implements OnInitEffects {
ngrxOnInitEffects(): Action {
return { type: '[UserEffects]: Init' };
}
}