JavaScript – Redus vs Angular 2中的服务

前端之家收集整理的这篇文章主要介绍了JavaScript – Redus vs Angular 2中的服务前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想确保我已经理解了Redux的权利.我的理解是,它将存储应用程序(包括所有子系统)的完整状态,如所有组件的模型和获取的数据和用户生成的数据的缓存.这是否意味着我不应该使用服务来加载/保存组件的状态,它的模型的id?

我正在做一个测验应用程序,包括测验,类别,问题和选择等组件.目前,每个组件调用Web API来获取数据,并维护它自己的状态本身,或借助于跟踪id字段的所有内容的服务.

我有专门的服务叫做AnswerService来维护所选择的选项的状态,每个选择组件在渲染时都会获取它的状态.

迁移到Redux意味着所有这些都将被移动到存储,几乎所有的服务将是无状态的并且直接发送到存储,并且所有组件模型分别从商店订阅

解决方法

“Does migrating to Redux means all of this will be moved to store”

没有.如果你使用ngrx,那么处理这个的最好方法是使用ngrx / effects.这是一个伴随的图书馆,其意图是“放置您的异步代码的地方”,或换句话说,这个地方做副作用.所以当组件想要一些新的数据时,它将调度一个“GET_DATA”操作,这将被处理为一个ngrx @Effect.在您的效果之内,您可以使用自定义服务调出并检索数据(因此您的异步服务可能很好,可能只需要调整一点).然后,效果会将包含新数据的操作返回给使用新数据更新状态的reducer.您的组件正在订阅存储整个时间,所以当状态由reducer更新时,组件知道此更改,并可以自动更新自己的本地状态.

猜你在找的JavaScript相关文章