我是否应该将Redux用于所有API调用,即使要处理的数据不在不同组件之间共享? 示例:users-list组件必须检索用户列表并在界面中显示它。这些用户不在此组件之外使用。是否必须使用actions / reducers / effects实现API调用?
答案 0 :(得分:0)
如果数据和逻辑都是自包含的,那么就不需要使用redux模式,因为它只会引入不必要的复杂性。
https://medium.com/@dan_abramov/you-might-not-need-redux-be46360cf367
答案 1 :(得分:0)
首先是什么是Redux?
Redux是JavaScript应用程序的应用程序状态管理器 通过拥有一个来保持Flux架构的核心原则 应用程序中的单向数据流。 Redux应用程序有 只有一个全局的只读应用程序状态。计算此状态 通过"减少"在更新它的集合或动作流上 受控制的方式。
Redux In Angular?
Redux州的经理们受到了很好的欢迎并受到了启发 @ngrx的创建,一组实现相同方式的模块 管理状态以及中的一些中间件和工具 Redux生态系统。 @ngrx创建时专门用于 Angular和RxJS,因为它严重依赖于可观察的范例。 您在上面看到的两个组件都是使用ngrx store进行管理的 (更新到v4)升级的优点现在我们支持懒惰 使用特色模块直接在ngrx中加载
在何处使用?
一个小方案将使其使用非常清楚
我希望你可能已经正确地使用了facebook:P所以如果你看@ facebook' s 网站你会看到多个组件,如导航栏,左侧面板, 聊天室等。曾经想知道什么时候会向您发送新消息 这些同时更新如何?如果他们去寻求服务或 事件发射者他们将被吞没在意大利面条代码的海洋中。 即使实施也很难调试或进行更改。
这里使用的是ngrx状态管理的所有信息 存储@一个地方,所有组件都被识别出来 数据状态已更改。从堆栈溢出看这个答案 将清除概念更清晰。
如何实施Redux?
Angular有两个选项ng-redux
,其他选项ngrx
。我个人喜欢ngrx,拥有广阔的社区和伟大的想法。
您可以查看@ this link以获取计数器应用程序并将列表添加到Ngrx v4。
如果您想使用整个ngrx套件实现来查看@整个应用程序,请查看this git repo这部署在link。
对此的引用来自我的gh-page,其中我传播了Angular Concepts的字样。
答案 2 :(得分:-1)
当然,这取决于你的目标。如果您只是想尝试Angular,那么这不是您的选择。如果你计划你的应用程序会增长 - 这不是一个坏主意。实际上,如果您将使用“逐个功能”结构,您可以在将来轻松地将ngrx添加到您的项目中。
Redux是关于国家管理的。也许你认为现在有点矫枉过正了。但请确保您的应用程序会增长。您将获得更多模块,处理所有内容将更加困难。
此外,redux为您的应用程序添加了一些结构。我相信,如果新人加入团队,如果团队使用redux,新人将很容易接受项目。即使他们是青少年,让他们阅读有关redux / ngrx的信息,他们可以轻松跟踪数据在应用程序中的流动情况。实际上,即使反应开发者来到有角度的团队,反之亦然。至少对我来说:我和我的同事可以轻松地讨论问题并成功解决问题,但我使用Angular并使用React。
您是否应该遵循针对API调用的redux进程?好。从技术上讲,你可以忽略这一点但为什么? Redux有很多有用的工具。例如redux dev工具。如果你使用动作来进行api调用,那么你也可以在Redux开发工具中看到它们。您可以看到操作列表,操作的有效负载(从服务器收到的内容),此操作如何更改您的状态。