Angular 2: service和redux的区别
Angular 2: Difference between service and redux
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
的实现更简单,它有明确的文档学习。
- 全局变量和全局对象的属性之间有什么区别吗
- JavaScript中的函数和对象之间没有区别吗?
- React Redux错误页面管理
- 在Redux中,我应该在哪里编写复杂的异步流
- 在ember/handlers中使用value和valueBinding有什么区别
- 在下划线中使用_(obj).map(callback)和_.map(obj,callback)之间的区别
- TypeError:_this.store.getState在使用来自Redux的连接时不是函数
- React redux初始化功能,无论状态变化如何
- javascript函数的:和=之间的区别
- 这两个关于 JavaScript 作用域链的例子有什么区别?
- 什么's本地node.js服务器和python简单http服务器之间的区别
- 函数中this和var之间的区别
- “util.inherits”和在NodeJS中扩展原型之间的区别
- 为什么react/redux前端项目在package.json中包含生产依赖项
- 设计redux状态树
- React+Redux性能优化与组件ShouldUpdate
- Redux应用程序结构-在哪里放置服务/业务逻辑
- react redux:state.setIn()和state.set()之间有什么区别
- Angular 2: service和redux的区别
- redux,react-redux,redux-thunk之间有什么区别