ngrx帮助从rxjs 5迁移到6

时间:2018-05-16 16:56:26

标签: rxjs5 ngrx-effects rxjs6

我正在将我的Angular 5应用程序从使用rxjs 5迁移到rxjs 6.其中很大一部分是从使用点链到使用.pipe()的变化。我的应用程序正在使用ngrx,我在使用Effects时遇到了问题。当使用rxjs 5时,这可行。

@Effect() public onSave$: void | Observable<void|{}> =
this.actions.ofType<DashboardGroupsActions.Save>(DashboardGroupsActions.SAVE_DASHBOARD_GROUPS)
  .map((action: DashboardGroupsActions.Save) => action.payload)
  .switchMap((payload: DashboardGroups) => {

      return this.api.saveDashboardGroup(payload);
  })
  .catch(() => {

      return Observable.of();
  });

以下是将点链转换为.pipe()后代码的样子。但现在我也得到以下错误,我似乎无法修复。

Actions<Action>

类型中不存在“属性'管道'
import { Observable, pipe, of } from 'rxjs';
import { catchError, filter, map, mergeMap, switchMap } from 'rxjs/operators';
import { Action, Store } from '@ngrx/store';
import { Actions, Effect, ofType } from '@ngrx/effects';

@Effect() public onSave$: Observable<{}|Action> = this.actions.pipe(
      ofType<DashboardGroupsActions.Save>(DashboardGroupsActions.SAVE_DASHBOARD_GROUPS),
      map((action: DashboardGroupsActions.Save) => action.payload),
      switchMap((payload: DashboardGroups) => {

          return this.api.saveDashboardGroup(payload);
      }),
      catchError(() => {

          return of({});
      })
  );

非常感谢任何帮助。

0 个答案:

没有答案