如何实现Redux?

时间:2017-08-26 00:19:30

标签: angular redux ngrx ngrx-store ngrx-effects

我是否应该将Redux用于所有API调用,即使要处理的数据不在不同组件之间共享? 示例:users-list组件必须检索用户列表并在界面中显示它。这些用户不在此组件之外使用。是否必须使用actions / reducers / effects实现API调用?

3 个答案:

答案 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开发工具中看到它们。您可以看到操作列表,操作的有效负载(从服务器收到的内容),此操作如何更改您的状态。