Angular 解析程序与Redux

Angular 解析程序与Redux,angular,redux,angular-resolver,angular-redux,Angular,Redux,Angular Resolver,Angular Redux,我已经在Angular的中小型项目中工作了相当长的时间,只要有一些数据需要从服务器加载,团队就直接将其存储到Redux存储中。这样,当用户在“页面”之间导航以及决定刷新页面时,可以保留数据 然而,最近我一直在做一个“适当的”角度教程,我们通过组合服务(在app.module.ts中提供)来保持数据和角度,取得了相同的结果。解析程序确保在加载我的主页面时,将所需的数据加载到服务中。此外,如果数据不是太大,我甚至可以将其存储到localStorage中,从而在数据不存在时消除解析器中的HTTP请求

我已经在Angular的中小型项目中工作了相当长的时间,只要有一些数据需要从服务器加载,团队就直接将其存储到Redux存储中。这样,当用户在“页面”之间导航以及决定刷新页面时,可以保留数据

然而,最近我一直在做一个“适当的”角度教程,我们通过组合服务(在
app.module.ts
中提供)来保持数据和角度,取得了相同的结果。解析程序确保在加载我的主页面时,将所需的数据加载到服务中。此外,如果数据不是太大,我甚至可以将其存储到
localStorage
中,从而在数据不存在时消除解析器中的
HTTP
请求

除了不太可能的用例,其中1。需要加载大量数据,并且2。由于某种原因,用户经常刷新网页,我真的不明白为什么我们应该实现一个完整的redux存储

使用Redux还有其他我不了解的原因吗?或者使用这种方法有更多的缺点吗?

是Redux创建者的一篇非常著名的文章。它的名字是你可能不需要redux

Angular是一个解决了数据间依赖问题的框架。如果事件和数据绑定的组件间通信对您有效,并且通过服务进行缓存没有问题,那么您应该坚持使用它们

为什么?

  • 对于大多数学习曲线陡峭的开发人员来说,Redux是违反直觉的
  • 需要大量样板代码,如果您不需要它的折衷,那么您就不应该为它费心
  • Redux和flux通常被误解,并以错误的方式广泛使用。您可以在中看到何时需要使用redux的指示。它大致是这样说的

    反应组件按层次结构排列。大多数时候,你的 数据模型也遵循层次结构。在这些情况下,Flux不会 给你买很多。但是,有时候,您的数据模型不是分层的。 当您的React组件开始接收感觉良好的道具时 无关的,或者您有少量的组件开始 非常复杂,那么你可能需要研究通量

    您有一段数据需要在中的多个位置使用 你的应用程序,并通过道具传递它,使你的组件打破了 单一责任原则(即,使其接口 (感觉)

    有多个独立的参与者(通常是服务器和 最终用户),可能会改变该数据


    在任何其他情况下(当上述示例有限时),我会选择不使用redux,而是使用angular提供的分解器、防护装置和服务。

    同意你的问题。顺便说一下,我见过人们从分解器中的存储中获取数据的情况,作为两者的一种使用方式,避免一次性迁移到服务。@AthanasiosKataras这绝对是一个有趣的案例,我还没有考虑过。但是,如何实现一个完整的Redux比使用一个简单的数据服务来设置/获取数据更好呢?这不是,这只是逐步迁移到解析器/服务范式的需要。谢谢你的回答!似乎许多人认为他们必须有Redux,而不考虑各自前端框架的内置选项。正如文章所说,它可以产生巨大的样板代码,却没有带来重大的好处。干杯!你还有什么想知道的吗?如果没有,请不要忘记投票/接受有用的答案。