ngrx:存储 INIT 操作的效果
ngrx: Effect for store INIT action
我想在 ngrx 存储初始化时发送一个动作 (@ngrx/store/init
)。我为此创建了一个效果:
@Effect()
reloadConext$ = this.actions$.pipe(
ofType(INIT),
switchMap(() => {
console.log('INIT ACTION');
//dispatch my action here
return of([]);
}
调度存储初始化操作时未触发效果。我在 app.module 中注册了 root 效果模块:
EffectsModule.forRoot([AppEffects]),
如果我删除 ofType
操作过滤器,则会触发该事件。有谁知道 init 操作的过滤器不起作用?
提前致谢。
我认为您正在寻找非根效应的 ROOT_EFFECTS_INIT or the 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' };
}
}
我想在 ngrx 存储初始化时发送一个动作 (@ngrx/store/init
)。我为此创建了一个效果:
@Effect()
reloadConext$ = this.actions$.pipe(
ofType(INIT),
switchMap(() => {
console.log('INIT ACTION');
//dispatch my action here
return of([]);
}
调度存储初始化操作时未触发效果。我在 app.module 中注册了 root 效果模块:
EffectsModule.forRoot([AppEffects]),
如果我删除 ofType
操作过滤器,则会触发该事件。有谁知道 init 操作的过滤器不起作用?
提前致谢。
我认为您正在寻找非根效应的 ROOT_EFFECTS_INIT or the 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' };
}
}