【问题标题】:State management concept vs other solutions状态管理概念与其他解决方案
【发布时间】:2018-01-27 01:12:36
【问题描述】:

我开始学习 Redux 和状态管理方法, 在阅读了很多文章后,我在实现和概念之间感到困惑。

所以我明白了:

  • Redux 是 Fl​​ux 架构的实现。 - source

  • flux 是实现和架构。

我想继续搜索并了解我自己,所以我的问题是:

1) 通量架构与 ....?其他解决方案/架构是什么。

2) “状态管理”概念是 Flux 架构的一部分,还是这个概念可以被其他架构实现?

3) “状态管理”?其他解决方案/概念是什么。

谢谢大家!

【问题讨论】:

    标签: javascript redux store flux ngrx


    【解决方案1】:

    我认为你必须更多地考虑 MVC 与 CBA(基于组件的架构),而不是 Redux 与 MVC。

    Redux 可帮助您在组件之间同步状态,并在您拥有共享状态的复杂组件树时真正发挥作用。

    我想向您指出这个出色的演示文稿,它可以帮助您了解在基于组件的架构中使用 Redux 的好处。

    在 Angular 2 中管理状态 - 圣路易斯 Angular 午餐 - Kyle Cordes https://youtu.be/eBLTz8QRg4Q

    【讨论】:

      【解决方案2】:

      Ngrx 只不过是由 facebook dev's 最初发起和创建的通量架构,后来被修剪并更改为 Redux。

      它的唯一用途是状态管理。

      一个小场景会很清楚它的用途

      我是你可能使用过 facebook 的权利:P 所以如果你查看@facebook 的网站,你会看到多个组件,如导航栏、左侧面板、聊天框等。有没有想过什么时候有新消息发送给你,所有这些都是如何同时更新的?如果他们选择 Observables 或 Event Emitters,他们将被淹没在意大利面条代码的海洋中。即使实现了也很难调试或进行更改。

      这里使用了 ngrx 状态管理,所有信息都存储在一个地方,并且当数据状态发生变化时,所有组件都会被识别。 A Look this answer from stack overflow 将更加清晰的概念。

      用于 Angular 的 Ngrx v4。最新版本带来了一些重大变化,但也带来了更好的变化,例如 ngrx 中的特色模块支持以及更好的有效负载管理。

      page 上的更多内容。

      • 对于 Javascript Flux 或 Redux 是最突出的用例之一 对于状态管理,他们可能是其他人,但这是一个 得到社区的大力支持。
      • 您可以使用共享服务在 Angular 中实现状态管理
        和 Observables 。并在 JavaScript 中使用 Observables。

      【讨论】:

      • 谢谢你的回答!,我理解 facebook 的问题,但我没有发现 mvc 的问题,他们只是使用单个模型(存储)和所有数据,所有组件都订阅单个模型(存储) .双向数据绑定或 mvc 的问题在哪里?如果您的应用程序增长开始无限循环,则在网络上都说在 mvc 中,我找不到这种情况的示例。
      • @AlinBenHemo 我不太清楚你所说的前端 mvc 是什么意思,它更像 MVVC 。但从类型上讲,您有很多父子关系,并且您希望数据在它们之间下沉,而不会丢失使用 ngrx 的数据,这取决于应用程序的复杂性
      • facebook说是mvc问题,看这里youtube.com/…
      • @AlinBenHemo 你认为是 mvc 。有人说它是角度的 mvvc。他们的意思是你的控制器现在必须更新不同地方的代码,每个地方都有多个状态副本。使用 redux,您可以拥有一个更像是内存中的小型 firebase db 的副本,供应用程序引用状态。因此,数据的任何变化都会反映在组件之间。希望你现在得到它
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-23
      • 2020-05-23
      • 2012-08-30
      • 2015-10-25
      • 2019-12-16
      • 2020-07-01
      • 1970-01-01
      相关资源
      最近更新 更多