虚拟 dom 和脏检查之间的性能差异

     2023-02-22     179

关键词:

【中文标题】虚拟 dom 和脏检查之间的性能差异【英文标题】:Performance difference between virtual dom and dirty-checking 【发布时间】:2017-02-26 07:05:06 【问题描述】:

我是新手反应。真的很想知道 react 的虚拟 dom 和 angular 的脏检查之间的性能差异。

    React 使用“diffing” 算法。

    一个。它是如何工作的? 湾。它是否保留two copies of trees?比较两棵树不是很昂贵吗?

    React 不直接操作 heavyweight 部分。

    一个。指的是什么?

角度(角度 1)

    Angular 会监视 DOM 中实际存在的数据,而不是 所有范围变量。

    一个。这不是比比较两棵树更好吗?

    Angular 运行 digest cycle 并在它稳定后进行操作 大教堂。

    一个。这里react virtual dom有什么好处?

【问题讨论】:

【参考方案1】:

不要上这些营销噱头。 最后,这一切都归结为运行这些框架的浏览器或平台。 React JSX 和 Virtual DOM 可以分开,因为它是一种可以利用的技术。然而,一旦 React 变大,它就会变成一团意大利面条,并且讨厌功能 UI 人员工作,也许开发人员可以。 然而,使用 AngularJS 或 Angular 将 f 关注点作为设计理念的一部分进行分离,模板可以被分离,从而加快开发和推向市场的时间。此外,社区的支持也很好。

您真正需要发展的是平台,同时保留开放的 Web spes(?),例如组件。 React 正在扼杀它。

如果您打算使用或制作成熟的应用程序,我建议您使用 Angular 的任一版本。

【讨论】:

[react]你知道virtualdom的工作原理吗?

...ct]你知道VirtualDOM的工作原理吗?VirtualDOM是什么:虚拟DOM是真实DOM的javascript对象的映射VirtualDOM的工作原理:数据驱动视图更新这个过程中,首先会改变虚拟DOM对象,一个视图的更新周期,首先会简单新的... 查看详情

react虚拟dom浅析

...术A如果您正在使用React或学习React,那么您一定听说过“虚拟DOM”一词。现在什么是虚拟DOM?为什么React使用它?真实DOM首先,DOM代表“文档对象模型”。DOM用简单的语言表示应用程序的UI。每当应用程序UI的状态发生变化时,DOM... 查看详情

等于 (=) 和具有一个文字值的 IN 之间的性能差异

...,SQL引擎有何不同?执行时间有变化吗?第一个使用相等检查运算符WHEREcolumn_value=\'All\'第二个使用IN运算符和单个值WHER 查看详情

为啥 DOM 读/写操作的微小重新排序会导致巨大的性能差异

】为啥DOM读/写操作的微小重新排序会导致巨大的性能差异【英文标题】:whyatinyreorderingofDOMRead/Writeoperationscausesahugeperformancedifference为什么DOM读/写操作的微小重新排序会导致巨大的性能差异【发布时间】:2013-10-1513:39:20【问题描... 查看详情

虚拟dom和diff算法,key的作用,jsx,render函数

虚拟DOM和Diff算法什么是虚拟DOM?使用javascript模拟了DOM结构的树形结构(对象表示),这个树结构包含整个DOM结构的信息使用虚拟DOM有什么好处?操作数据要大大的减少性能损耗,提高渲染效率越多的真实dom操作,越损耗性能什... 查看详情

为啥两个查询之间的性能差异?

】为啥两个查询之间的性能差异?【英文标题】:WhydifferenceinperformancebetweentheTWOqueries?为什么两个查询之间的性能差异?【发布时间】:2010-07-3111:57:49【问题描述】:我使用的是SQLServer2008,我有两个表表1包含350万条记录+----+-----... 查看详情

什么是虚拟dom?为啥虚拟dom可以提升性能?

现在流行的框架无论是React还是vue,都采用的是虚拟DOM采用虚拟DOM的好处是,当数据变化的时候,无需像Backbone那样整体重新渲染,而是局部刷新变化部分所谓虚拟DOM,其实就说用JavaScript对象来构建DOM树。虚拟DOM以js结构的形式... 查看详情

虚拟dom到真实dom

...的dom太复杂了,没法进行快速的比较得到最小差异化。而虚拟dom简单来说就是一开始用js画了一个假的dom结构,映射真实的dom,去除一些我们不用去关注的事情。然后在之后更新dom的时候,先根据这些变更来得出最小的差异化。... 查看详情

iPhone:NSURLRequestCachePolicy 设置之间的性能差异

】iPhone:NSURLRequestCachePolicy设置之间的性能差异【英文标题】:iPhone:PerformancesDifferencesBetweenNSURLRequestCachePolicySettings【发布时间】:2010-02-1413:34:28【问题描述】:在iPhone上使用NSURLRequest时,各种NSURLRequestCachePolicy设置之间的实际性... 查看详情

RcppArmadillo 和 Armadillo 之间的性能差异

】RcppArmadillo和Armadillo之间的性能差异【英文标题】:PerformancedifferencebetweenRcppArmadilloandArmadillo【发布时间】:2014-04-1400:19:02【问题描述】:我试图了解用RcppArmadillo编写的函数与使用Armadillo库以独立C++程序编写的函数之间的性能... 查看详情

vue组件双向绑定key的作用

....defineProperty对数据的监听来实现vue的双向绑定,然后通过虚拟DOM来对比之间的最小差异更新实现性能的优化,key的作用就是用来识别一些较小的差异来优化性能,没有key的话vue会直接将变化的DOM元素删除,添加一个新的元素。这... 查看详情

为啥这两个查询之间的性能增益存在差异?

】为啥这两个查询之间的性能增益存在差异?【英文标题】:whythere\'sadifferenceofperformancegainamongboththesequeries?为什么这两个查询之间的性能增益存在差异?【发布时间】:2010-08-2708:26:55【问题描述】:选择instmax,r来自(选择instma... 查看详情

reactivenative学习之diff算法

...t源码剖析系列-不可思议的reactdiff深入浅出React(四):虚拟DOMDiff算法解析Reactdiff算法总结链接引用的文章React出于性能的考虑,为了避免频繁操作DOM,采用了虚拟DOM结构(virtualDOM):每当虚拟DOM树发生变化树发生变化时,React... 查看详情

16_虚拟dom和domdiff算法

虚拟dom的作用:是为了减少操作真实的dom  初始化显示界面的过程:    1.创建虚拟dom树——》真实dom树——》绘制页面显示   更新界面的过程:    2.绘制页面显示——》setState()更新状态&mda... 查看详情

双等号 (==) 和三等号 (===) 之间的 JavaScript 性能差异

】双等号(==)和三等号(===)之间的JavaScript性能差异【英文标题】:JavaScriptperformancedifferencebetweendoubleequals(==)andtripleequals(===)【发布时间】:2011-12-2402:10:33【问题描述】:在JavaScript中,使用双等号(==)与使用三等号(===)之间是否存在... 查看详情

双等号 (==) 和三等号 (===) 之间的 JavaScript 性能差异

】双等号(==)和三等号(===)之间的JavaScript性能差异【英文标题】:JavaScriptperformancedifferencebetweendoubleequals(==)andtripleequals(===)【发布时间】:2011-12-2402:10:33【问题描述】:在JavaScript中,使用双等号(==)与使用三等号(===)之间是否存在... 查看详情

用户定义函数和存储过程之间的性能差异

】用户定义函数和存储过程之间的性能差异【英文标题】:performancedifferencebetweenUserDefinedFunctionandStoredProcedures【发布时间】:2009-12-2121:32:11【问题描述】:如果语句返回对数据库进行简单选择的行,那么使用函数和过程实现它之... 查看详情

ngrx 和 ngxs 之间的性能差异? [关闭]

】ngrx和ngxs之间的性能差异?[关闭]【英文标题】:Differenceinperformancebetweenngrxandngxs?[closed]【发布时间】:2018-11-1504:43:21【问题描述】:我想在我的Angular6应用程序中使用ngxs进行状态管理。但我不确定它是否适合大型项目。我找不... 查看详情