Angular 2: service和redux的区别

Angular 2: Difference between service and redux

本文关键字:redux 区别 service Angular      更新时间:2023-09-26

redux的需求是什么?因为我们也可以从服务中保存和获取数据,据我所知,我们也可以将数据获取和保存到服务中,这些服务可以被其他组件使用。

您不需要redux,但您确实需要一种维护状态的方法。一个服务就可以了,但最终您将发送类似redux或ngrx store的东西。

考虑挑战。数据以异步方式传入。你想让它反应。您希望有错误处理。您希望在更新数据时具有等待状态。您有级联场景,其中一个事件触发多个操作,每个操作都有自己的延迟和错误路径。

并且你想要设置一个可以在多个组件中使用的模式。

Victor Savkin有一种处理可观察对象的方法,非常灵巧。Ngrx有另一种方法。

我使用一个服务编写了一个中等复杂的组件。它工作得很好。时间会浪费在追踪一些状态未定义和抛出错误的奇怪情况上。我对可重用的模式做了太多的研究。结果是脆弱而易碎的。它不是完全反应性的,制作它被证明是非常困难和耗时的。我将其移植到ngrx上,一旦克服了学习曲线(这不是微不足道的),代码就会变得更简单,并且可以进行快速调试。

YMMV .

Victor Savkin有一篇关于如何维护状态的文章

服务是Angular的实现细节。而redux是一个架构概念。这两者不能直接比较。

如果你对如何将redux应用到Angular感兴趣,我建议你阅读@ngrx/store的综合介绍。

服务是Angular的一个特性,它允许用户管理自己的常用方法和属性。但是状态模式提供了一种结构方式来管理我们的应用程序状态(通过应用程序通常使用的属性)。

如果你对学习Angular状态模式感兴趣,我会推荐@ngrx/store &&@ngxs/store。两个都是好的。我建议ngxs,这比比较@ngrs/store的实现更简单,它有明确的文档学习。