【问题标题】:What are the advantages of react and flux apart from virtual dom concept [closed]除了虚拟 dom 概念之外,react 和 Flux 的优点是什么[关闭]
【发布时间】:2016-02-05 05:27:27
【问题描述】:

我有一个 Html 页面,它与第三方引擎配置/连接,该引擎会根据某些规则不断检查 Web 应用程序,并在条件通过时将 div 标签嵌入到正文中。

div 和其中的所有元素的创建都是使用 javascript 完成的。现在我需要用 react.js 和 Flux 方式替换元素创建(dom 操作)的 javascript 方式。

谁能告诉我,除了使用虚拟 dom 以获得更好的性能之外,使用 React 而不是一般的 javascript 有什么优势。

【问题讨论】:

  • 试试看。一种写法,另一种写法,比较。尝试在一段时间内维护和扩展这两种解决方案。形成你自己的意见。
  • 简而言之:声明式与命令式 UI 实现。
  • 虚拟 DOM 的好处不仅仅是更好的性能,而且 React 比虚拟 DOM 有更多的好处。 Flux 是一种架构。与 vanilla javascript 相比,React 相对于 vanilla javascript 的许多优点类似于 [在此处插入任何包/框架]。对于 SO 来说可能太宽泛了。您可能会发现更好的结果,例如here..

标签: javascript reactjs reactjs-flux


【解决方案1】:

React(以及大量其他 JS 框架)允许您将应用程序划分为可重用的小块(react“组件”、角度“指令”等)。这很好,因为:

  • 代码更干净
  • 可重用性:您可以在应用程序的不同位置甚至在其他应用程序中使用相同的组件。

Flux 的优点:

  • 更好地分离关注点:您可以将视图(在组件中)与逻辑(在存储中)分离。

  • 消息传递方法 - 构建应用程序的古老且经过验证的方法。甚至操作系统也是以这种方式构建的(例如检查 WinAPI)。除了消息传递之外,还可以启用事件溯源(查看 Greg Young 的视频)、轻松撤消重做等功能。

它基本上让您可以将应用程序中的每个更改都视为一个单独的事物(出于某些原因,有些人将此类似的概念称为“消息”,而其他人则使用“事件”或“动作”一词)。

  • 您不直接改变状态,因此您花费的调试时间可能更少。如果每个对象都可以随时改变自己,那么调试应用程序真的很困难。如果您的状态在存储中发生了变化,并且只有在适当的操作出现时,您才能更好地控制应用程序中的控制流。

【讨论】:

    【解决方案2】:

    React作为一个包主要用于它的虚拟DOM,没错。

    Flux 是一种架构(有许多库在不同程度上实现了它)。使用 Flux 时,您正在定义数据在程序中流动的方式。通过使用单向数据流,并为每个组件(操作、存储、视图)预定义职责,您可以更好地推断数据更改以及故障排除问题。

    【讨论】:

      猜你喜欢
      • 2019-08-12
      • 2023-01-16
      • 1970-01-01
      • 2019-05-24
      • 2018-01-21
      • 2020-04-13
      • 2012-09-04
      • 1970-01-01
      相关资源
      最近更新 更多