Мое действие не вызывает связанный редуктор и эффект - PullRequest
0 голосов
/ 14 января 2020

мое действие -

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 ');

действие выполняется, и записанная в нем консоль распечатывается, но связанный эффект и редуктор не запускаются.

Примечание: я использую сущности хранилища ngrx с angular 8.

1 Ответ

0 голосов
/ 14 января 2020

Вам необходимо вызвать метод dispatch магазина. Перед этим внедрите экземпляр хранилища и вызовите метод dispatch с параметром, который является действием. Пример: this.store.dispatch(new RefreshToken('parameter'); А также проверьте импорт (StoreModule, EffectsModule).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...