为什么使用NGRX而不是构造函数注入服务?

时间:2018-04-17 18:43:16

标签: javascript angular rxjs ngrx ngxs

想知道为什么会将NGRXNGXS用于Angular应用而不是构造函数注入服务来处理组件IO?

是否只是为了确保组件属性引用永远不会在没有切换整个属性值引用的情况下进行变异,或者还有更多内容吗?

Altnernative to NGRX

根据我开发的答案:

Slice

我相信它可以完成NgRx / NgXS所做的一切(除了时间机器 - 但这很容易通过增量通知实现 - 已经支持)。但是没有样板。

这是一篇展示一些功能的文章: https://medium.com/@ole.ersoy/storing-users-in-the-reactive-slice-object-store-5ea0fab06256

1 个答案:

答案 0 :(得分:10)

您需要编写一个服务,提供一致且易于更改的api来修改数据,您需要提出一种快速且经过良好测试的查询数据的方法,您将需要编写和维护可观察的数据为您的所有数据。您必须编写并建立异步调用的模式。您必须编写api才能访问模板中的数据。

当你完成时,你会得到类似ngrx的东西。

对于简单的一个服务数据,ngrx是过度的,很多样板,但对于具有多个数据源的反应式应用程序或具有良好使用库的众多开发人员之间的复杂数据交互确实很有帮助。

关注SO答案以获得更深入的解释:What are benefits of using store (ngrx) in angular 2

要了解何时使用哪种方法,请阅读:RxJs and Ngrx Store - When to Use a Store And Why?