javascript - Angular 2 : Difference between service and redux

标签 javascript angular redux angular2-services ngrx

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

最佳答案

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

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

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

维克多·萨夫金 (Victor Savkin) 有一种使用 observables 的方法,非常巧妙。 Ngrx 有另一种方式。

我使用服务编写了一个中等复杂的组件。它工作正常。时间会消失在追踪一些状态未定义并引发错误的奇怪情况上。我对杂草的了解太多了,无法拥有可重复使用的模式。结果是脆弱易碎的。它不是完全 react 性的,事实证明要让它变得极其困难和耗时。我将它移植到 ngrx,一旦克服了学习曲线(这不是微不足道的),代码就会变得更简单并且可以完全检测以允许快速调试。

YMMV.

Victor Savkin has an article on how to maintain state

关于javascript - Angular 2 : Difference between service and redux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38910309/

相关文章:

javascript - 如何使用 Node.js 服务器部署 Angular 5 应用程序

javascript - 如何在ajax httpresponse中返回django查询集

javascript - 如何让 JQuery-UI 自动完成在使用远程源类别时按 Enter 键提交?

angular - 在 Angular 2 中添加 polyfill 代码

javascript - 如何防止 Redux 转换不可变数据(使用 Transit.fromJSON 时)?

javascript - React Immutable JS 如何订购 map

javascript - 使用 fromNow() 时的时刻区域设置

angular - 添加 @angular/pwa 不适用于 Angular CLI

javascript - 在 Angular 7 中获取参数值的不同结果

javascript - 更新reducer中的数组项