Я нахожусь в процессе перехода моего приложения Angular 5 с использования rxjs 5 на rxjs 6. Большая часть этого - переход от использования цепочки точек к использованию .pipe ().Мое приложение использует ngrx, и у меня возникают проблемы с эффектами.При использовании 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 ().Но теперь я также получаю следующую ошибку, которую не могу исправить.
"Свойство 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({});
})
);
Любая помощь приветствуется.