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

姜硕 发布于 2015/06/30 14:26
阅读 1K+
收藏 0
网上都说操作真实dom怎么怎么慢,但是下面这个链接案例中原生的方式却是最快的
http://chrisharrington.github.io/demos/performance/
我在本地也写了个例子循环2000个随机数组,点击按钮重新生成随机数组渲染页面,也是自己用的js 操作dom 比用react 和angular 都要快,这个是怎么回事。测试方式不对,还是哪里问题,请帮忙解答下,谢谢。
加载中
0
be-quiet
be-quiet
不是说react操作的是虚拟dom.
0
SimonHG
SimonHG

react、angular最终操作的还是DOM,而且中间还有有一层额外的操作,当然会比真实的操作要慢。

我们说它快是因为:react减少了真实的DOM操作,用虚拟DOM操作代替,然后对比虚拟和真实DOM,不一致的地方才真实地操作DOM,用这样的方式来减少DOM操作。

所以我们说React很快。

0
-鹏
-鹏

首先感谢你提供的benchmark,非常直观,很棒!

你的结论是原生操作真实DOM不比react慢,甚至快很多。

 

这在某些情况是对的,就比如你的这种情况, react将你从dom操作中解脱出来,不需要你手动操作dom。 这在某些方面来说可以避免”无效“的渲染, 而你如果全部都手动操作,并且没有任何”无效“更新操作,那么你一定比react快!毫无疑问,但是随着应用的复杂度上升,你很难保证这种”无效操作“不发生,而且你需要不断的保持数据和dom一致性。  

 

    希望我的回答对你有帮助。 我的个人主页是https://azl397985856.github.io/ , 掘金主页 https://juejin.im/user/58af98305c497d0067780b3b

返回顶部
顶部