Стоит ли использовать Router в Effects

Я пытаюсь перейти на другую страницу внутри эффекта и получаю следующую ошибку: мне было интересно, могу ли я все равно использовать внутренние эффекты маршрутизатора.

Effect "NavigateToPageEffects.updatePageId$" dispatched an invalid action

    @Injectable()
export class NavigateToWorkflowEffects {
  constructor(
    private actions$: Actions,
    private router: Router
  ) { }

     @Effect()
      updatePageId$ = this.actions$
        .ofType(NAVIGATE_TO_PAGE)
        .map((action: Action) => (action as NavigateToPageAction).payload)
        .map((page: PageViewModel) =>
          this.router.navigate([RoutePaths.page, page.id]));

Причина, по которой я просматриваю эффект, заключается в том, что мне нужно сначала выполнить другое действие, а затем перейти. Мой исходный код внутри моего компонента выглядел так, как показано ниже, но у меня возникла проблема с порядком выполнения:

  savedClicked(page: PageViewModel) {
    this.store.dispatch(new NavigateToPageAction(page));
     this.router.navigate([RoutePaths.page, page.id]);
  }

Привет! Посмотрите, может ли эта статья вам помочь. бетонная страница.com/angular-2/ngrx/ngrx-effects-4-example.

Rohit.007 16.05.2018 19:17

@ Rohit.007 Большое спасибо за ссылку, @Effect({ dispatch: false }) сделал за меня всю работу!

shiva 17.05.2018 11:11
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
0
2
151
0

Другие вопросы по теме