完整代码取自文档:
import { Injectable } from "@angular/core";
import { Actions, createEffect, ofType } from "@ngrx/effects";
import { of } from "rxjs";
import { map, mergeMap, catchError } from "rxjs/operators";
@Injectable()
export class RegistryEffects {
loadMovies$ = createEffect(() =>
this.actions$.pipe(
ofType("load"),
mergeMap(() =>
this.moviesService.getAll().pipe(
map((movies) => ({
type: "loaded_success",
payload: movies,
})),
catchError(() => of({ type: "loaded_error" }))
)
)
)
);
constructor(private actions$: Actions, private moviesService: any) {}
}
我收到此错误消息:
<块引用>类型 'Observable' 不可分配给类型 '效果结果'。 'Observable' 类型不可分配 输入“可观察的”。 类型 '{}' 中缺少属性 'type',但类型 'Action'.ts(2322) models.d.ts(2, 5) 中需要属性 'type':此处声明了 'type'。 effect_creator.d.ts(42, 161): 预期类型来自返回 此签名的类型。
如何修复它,我的 Redux 有什么问题?