Ngrx实体,如何定义动作以及如何正确命名带有效果的动作

时间:2018-09-03 08:15:45

标签: angular ngrx ngrx-effects ngrx-entity

我已经使用ngrx原理图生成了动作,它看起来像这样:

val df2 = df.withColumn('operation2, when('operation === true, null))

和减速器是这样的:

export enum UserActionTypes {
    LoadUsers = '[User] Load Users',
    AddUser = '[User] Add User',
    UpsertUser = '[User] Upsert User',
    AddUsers = '[User] Add Users',
    UpsertUsers = '[User] Upsert Users',
    UpdateUser = '[User] Update User',
}

我的问题是如何将其与效果结合并调用REST API。

我应该生成类似以下的动作

LoadUsers-哪种效果会从REST API获取用户列表,并且如果该api调用具有成功状态,它会分派动作LoadUsersSuccess,实际上会添加用户列表来存储对象吗?

或者看起来应该有所不同?

1 个答案:

答案 0 :(得分:1)

您的描述完全正确。

在您的应用程序中,您将分派 Load 操作,您的效果将调用API并与实体一起分派 LoadSuccess LoadFailed 操作作为有效载荷。

您也可以看看ngrx-data

  

零Ngrx样板   您可能永远不会再编写动作,缩减器,选择器,效果或HTTP数据服务。   Ngrx-data是一个ngrx扩展,它在没有样板的情况下对ngrx / redux进行了简要介绍。