Angular 6 @ ngrx /存储api调用

时间:2018-11-02 10:44:06

标签: angular angular6 ngrx ngrx-store

我正在尝试在应用程序中通过API调用添加@ ngrx / store。

但是我实际上没有找到进行api调用的最佳位置,以及进行调度调用的最佳位置。

例如,我有一个减速器“ AllBooks”

我的组件图书

从我的图书服务

获取数据

Book服务进行 api调用并获取数据。

API调用

在一些教程中,我看到api调用在reducer中 在其他服务中,api调用在服务中。

调度电话

在某些教程中,我看到调度调用是从组件进行的。 在其他情况下,api分发位于服务中。

我正在寻找一个针对angular 6的新的简单演示代码,该代码使用@ ngrx / store和api调用来学习组织代码的最佳实践是什么

这是我当前的组件代码(构造函数):

this._passwordService.getPasswordsById(id).subscribe(
  (data) => {
    this.password = data;
    this._store.dispatch(new PasswordActions.GetPassword(this.password));

    this.onInit();
  },
  (error: any) => { console.log(error) })

1 个答案:

答案 0 :(得分:2)

您应该在效果中调用该服务。效果来自@ngrx/effects包,该包是处理副作用的地方。有关更多信息,请参见docs

您可以在NgRx example app中找到示例。