百科问答小站 logo
百科问答小站 font logo



网上都说操作真实 DOM 慢,但测试结果却比 React 更快,为什么? 第1页

  

user avatar   longtengdao 网友的相关建议: 
      

一般去饭店、旅馆前,都会打电话问一下还有没有位子,避免白跑一趟。

在这个意义上,我们说打电话比跑一趟快。

可是打完电话后,你不还是得真的去一趟吗,对于住店而言,这个是省不了的。打电话的意义在于,五家店,你不用排着白跑,确定需要真的跑一趟了,才出门。换言之,跑一趟,只是对于确认有没有位子值得真的出门而言,才是可省的。

vue、react等的虚拟dom操作,就相当于打电话确认哪些更新真的发生了,值得进行真实dom操作。

因此,如果业务场景是全都需要更新,那打电话反倒成了额外的工作了。

之所以通常不必考虑这种可能性,原因有三:

1.几乎不可能全都需要更新

2.打电话就算浪费,开销也极为低廉,你有兴趣可以具体定量测试一下,我简单定性地打个比方,大概类似一百个店只要节省了一个白跑,九十九个电话就回本了

3.除了内容显示,前端现实业务往往还需要绑定onclick等交互事件,再加上双向绑定,直观、智能的模板语法是非常重要的,虚拟dom只是vue、react等的一部分,剩下的这些部分都是我们选择这些框架的重要原因,甚至才是根本原因




  

相关话题

  ES6 await为什么建议用try...catch捕获错误? 
  请问一下各位大佬,js的静态方法有啥作用呀,写工具类吗,小菜鸡想不出来静态方法有啥作用? 
  如果一瞬间让所有编程语言的0.1 + 0.2 == 0.3,会造成多大影响? 
  HTML、CSS、JavaScript 为什么不加个标明运行版本号的语法? 
  前端开发的难点到底在什么地方? 
  为什么 TypeScript 有泛型而 PHP 却没有? 
  能独立做出一个自己的博客,前端程序员是什么水平? 
  公司上下近 300 号人,但做 web 开发的就我一个人,请问有必要用 vue 这种前后端分离吗? 
  如何让领导打消让UI写前端的念头? 
  为什么 Vue 的更新记录没有中文,中文文档也一直滞后? 

前一个讨论
如果有人告诉你,他被困在了同一天,你能怎样帮助他跳出时间循环?
下一个讨论
关于太空的电影中,最真实的一个场景是什么?





© 2025-05-31 - tinynew.org. All Rights Reserved.
© 2025-05-31 - tinynew.org. 保留所有权利