我想在我的Angular 6应用程序中使用ngxs进行状态管理。
但我不确定它对于大型项目是否成熟。
我找不到任何关于ngrx和ngxs性能差异的文章。谁能提供一些关于它的信息?
性能指标:从商店获取大量项目,然后写回商店。
发布于 2018-10-04 01:26:49
Reddit (Angular2+ community)给出了一个很好的答案。它来自于一位开发人员,他测试了这两种测试并切换到了NGXS。
我想分享我的经验。我们有一个大中型企业应用程序。我们从NGRX开始,但很快就变得清晰起来
NGRX代码很难理解,也很难写给队友。
NGRX是样板地狱。你花了很多时间在上面。
“效果”的概念很好,但它只是增加了额外的复杂性,可以简化。
开发者体验(DX)是可怕的。
然后我们切换到NGXS。
它有最小的样板文件。你可以直接跳到"action“:D。
我们对它的DX感到高兴。
对于队友来说,这更容易理解,每个人都突然变得高效起来。
有一些权衡,比如服务器调用是在缩减程序中,但使用一段时间后是有意义的。
插件!有大量的插件,从日志到表单处理(太棒了)。
发布于 2018-09-26 06:35:04
从我的经验来看,NGXS更容易编写,也更容易处理惰性加载状态。它有一个如此简单的语法,它是OOP,而不是Redux FP范例。修饰你的动作和选择器,订阅记忆状态,在任何地方捕捉调度的动作,等等。
然而,当涉及到存储插件时,我发现了一个陷阱,该插件本质上是针对脱机优先应用程序的。它使用同步本地存储,有5MB的限制,当需要将大数据写入存储时,会停止UI。但是,您可以在插件之上编写一个自定义存储解决方案。它是可伸缩的,可扩展的,你可以轻而易举地注入util类,文档尽可能的简单。
发布于 2018-10-06 02:22:15
我最近遇到了NGRX的问题,因为我不得不分派两个操作,但是第二个依赖于第一个操作的成功,问题是Reducer异步运行,第二个操作在第一个操作没有完成的情况下结束,尝试用Effects来解决它,但即使在那里也发生了同样的事情。使用NGXS我可以解决这个问题,因为Dispacher在操作结束时返回一个可观察对象。
一般来说,NGXS工作得很好,性能也非常相似,我不得不在一个具有多个嵌套级别的架构中更新大量数据,而且更新时间似乎没有区别。
https://stackoverflow.com/questions/50704430
复制相似问题