了解 ngrx/data 的能力

Understanding capabilities of ngrx/data

我正在尝试熟悉 ngrx/data,但我不确定它的功能。我已经阅读了文档和一些教程,但仍然有很多问号:

  1. ngrx/data 提供 CRUD 功能的方法。但是额外的非 CRUD 请求呢?是否可以为非 CRUD 请求(例如登录请求或其他)扩展 ngrx/data 并为此实现自己的操作、缩减器和效果? ngrx/data 的哪一部分必须扩展?实体动作?实体集合服务? EntityCollectionReducer?关于这些东西的文档有点混乱,我真的不明白所有这些部分是如何协同工作的。也许有人可以对此进行澄清并提供一些示例代码。

  2. 在我的 Angular 项目中,我使用 "traditional" store/actions/reducers/effects 模式。有时会在多个操作上触发一个效果(例如,成功的更新操作会触发从服务器重新读取)。是否也可以通过 ngrx/data?

  3. 实现此行为
  4. 是否可以在同一个商店实体上同时使用 ngrx/data 和 "traditional" 商店模式? ngrx/data 用于 CRUD 操作,store/actions/reducers/effects 用于非 CRUD 操作?

一些提示和想法会有所帮助。谢谢:)

  1. 对于登录和其他非 crud 的事情,你应该使用正常的 ngrx/store 界面与动作、减速器和效果。

  2. ngrx/datastore/actions/reducers/effects是同一套,你可以写一个effect监听ngrx/data的action,然后执行你想要的side effects。

  3. 是的,看第二个回答。 ngrx/data 只是一组 store/actions/reducers/effects 被服务包装。