我已经在Angular的中小型项目中工作了一段时间,只要有一些数据需要从服务器加载,团队就直接将其存储到Redux存储中。这样,当用户在“页面”之间导航以及他们决定刷新其页面时,就可以保留数据。
但是,最近我一直在做一个“正确的” Angular教程,我们设法通过结合服务(app.module.ts
中提供)来保存数据和resolvers来达到相同的结果。解析器确保在加载我的主页时,所需的数据已加载到服务中。另外,如果数据不是太大,我什至可以将其存储到localStorage
中,因此,如果数据不存在,则可以消除解析器中的HTTP
请求。
除了不太可能的用例:1.需要加载大量数据,并且2.用户经常出于某种原因刷新网页,我真的不明白为什么我们应该实现完整的redux存储
使用Redux是否有更多我不了解的原因,或者使用此方法还有更多缺点?
答案 0 :(得分:1)
This是来自redux的创建者的非常著名的文章。据说您可能不需要redux。
Angular是一个已知解决了数据间依赖问题的框架。如果事件和数据绑定的组件间通信对您有用,并且可以通过服务进行缓存并且没有引起以下问题,那么您应该坚持使用它们。
为什么?
一般而言,Redux和助焊剂被误解并以错误的方式广泛使用。 angular univercity中显示了何时需要使用redux的指示。几乎说了以下
反应组件按层次结构排列。大多数时候, 数据模型也遵循层次结构。在这种情况下,助焊剂不会 给你买很多。但是,有时您的数据模型不是分层的。 当您的React组件开始接收那种感觉的道具时 无关紧要的,或者您的组件数量很少 非常复杂,那么您可能需要研究Flux。
您有一条数据需要在以下多个位置使用 您的应用,并通过道具传递它,使您的组件破坏了 单一责任原则(即,使他们的界面减少 感)
有多个独立的参与者(通常是服务器和 最终用户)可能会对该数据进行突变
在任何其他情况下(并且在上述示例受限制的情况下),我都会选择不使用redux并使用开箱即用的Resolver,Guards和服务。