我的动作-
export class RefreshToken implements Action {
readonly type = GeneralActionTypes.refreshToken;
constructor(public token: string) {
console.log('%c action called ', 'background:#00e;color:#000', token);
}
}
相关效果-
@Effect({dispatch: false})
refreshToken$: Observable<Action> = this.actions$.pipe(
ofType<RefreshToken>(GeneralActionTypes.refreshToken),
map(a => {
console.log('%c effect is called ', 'background:#00e;color:#000', a)
return a;
})
);
和减速器-
case GeneralActionTypes.refreshToken:
console.log('inside refresh token ', action);
return state;
当我打电话时-
new RefreshToken('i am called qwerty ');
运行该动作,并打印其中编写的控制台,但相关的效果和减速器不运行。
注意:我正在使用角度为8的ngrx存储实体。
答案 0 :(得分:0)
您需要调用商店的dispatch
方法。在此之前,请注入商店的实例,并使用作为操作的参数来调用dispatch
方法。
例如:this.store.dispatch(new RefreshToken('parameter');
还要检查您的导入(StoreModule,EffectsModule)。