angular - NgRX 8 效果 - createEffect() 不起作用 - 类型 'Observable<unknown>' 无法分配给类型“Observable<Action>”

标签 angular ionic4 ngrx ngrx-effects

我有一个 ionic 4 应用程序,其中使用 NgRX 8。

以下代码编译:

connect1$ =
    this.actions$.pipe(
        // restart counter on every click
        switchMap(() => interval(1000))
);

但是当我按如下方式使用 createEffect() 时:

   connect2$ = createEffect(() =>
        this.actions$.pipe(
            // restart counter on every click
            switchMap(() => interval(1000))
          )
    );

我收到以下错误:

Type 'Observable' is not assignable to type 'Observable | ((...args: any[]) => Observable)'

我在上一篇文章中看到了删除 createEffect() 以解决语法问题的建议。但是当我这样做时,旧语法不会出现任何问题。

NgRX 8 effects - Type 'Observable<unknown>' is not assignable to type 'Observable<Action>'

关于我可能会看的内容有什么建议吗?

谢谢

最佳答案

旧语法没有类型检查 - 新语法有类型检查,因此出现此错误。 现在,您会在编译时收到错误,而不是在运行时收到意外错误。

您收到此错误是因为效果应始终返回 Action,除非使用 {dispatch: false } 指定

关于angular - NgRX 8 效果 - createEffect() 不起作用 - 类型 'Observable<unknown>' 无法分配给类型“Observable<Action>”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58510995/

相关文章:

javascript - Angular:未收到事件发射器

javascript - 从本地json获取带有id的单个数据

effects - @ngrx Effect 没有第二次运行

forms - Angular 动态表单可观察属性绑定(bind)

angular - 当 FormArray 为空时 FormArray 应该无效

javascript - 从外部 javascript 设置 ng-model 值

ionic-framework - 在 IONIC 4 中更改圆形 css

ionic-framework - 在默认项目中找不到 cordova 集成

angular - 我们应该规范化 Angular 应用程序中的状态吗?

c# - 使用代理开发服务器时,.net core spa 模板应用程序中 "Fetch data"上出现 404