28

redux 的需要是什么,因为我们还可以从服务中保存和获取数据,据我了解,我们还可以获取数据并将其保存到服务中,并且这些服务可以被其他组件使用。

4

3 回答 3

28

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

考虑挑战。您有异步传入的数据。你希望它是被动的。您希望进行错误处理。您希望在数据更新时处于等待状态。您有级联场景,其中一个事件触发多个操作,每个操作都有自己的延迟和错误路径。

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

Victor Savkin 有一种使用 observables 的方法,非常巧妙。Ngrx 有另一种方式。

我使用服务编写了一个中等复杂的组件。它工作正常。几个小时将消失在追踪一些状态未定义并引发错误的奇怪情况。我对杂草的了解太多了,以至于无法将可重复使用的东西用作图案。结果是脆弱易碎的。它不是完全反应式的,并且证明它是极其困难和耗时的。我将它移植到了ngrx,一旦克服了学习曲线,这不是微不足道的,代码变得更简单,并且完全仪器化,允许快速调试。

YMMV。

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

于 2016-08-14T15:46:04.373 回答
0

服务是 Angular 的实现细节。而 redux 是一个架构概念。两者没有直接可比性。

如果您对如何将 redux 应用于 Angular 感兴趣,我建议您阅读@ngrx/store.

于 2016-08-12T05:24:14.840 回答
0

服务是 Angular 的一项功能,它允许用户管理他们的常用方法和属性。但是状态模式提供了管理我们的应用程序状态的结构方式(通过应用程序常用的属性)。

如果您有兴趣了解 Angular 状态模式,我会推荐@ngrx/store&& @ngxs/store。两者都会很好。我建议ngxs哪个比比较@ngrs/store实现更简单,并且它有清晰的文档可供学习。

于 2018-08-21T12:53:09.890 回答