网上都说操作真实DOM慢,但测试结果却比React 更快,为什么?
网上都说操作真实dom怎么怎么慢,但是下面这个链接案例中原生的方式却是最快的
http://chrisharrington.github.io/demos/performance/
我在本地也写了个例子循环2000个随机数组,点击按钮重新生成随机数组渲染页面,也是自己用的js 操作dom 比用react 和angular 都要快,这个是怎么回事。测试方式不对,还是哪里问题,请帮忙解答下,谢谢。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
首先感谢你提供的benchmark,非常直观,很棒!
你的结论是原生操作真实DOM不比react慢,甚至快很多。
这在某些情况是对的,就比如你的这种情况, react将你从dom操作中解脱出来,不需要你手动操作dom。 这在某些方面来说可以避免”无效“的渲染, 而你如果全部都手动操作,并且没有任何”无效“更新操作,那么你一定比react快!毫无疑问,但是随着应用的复杂度上升,你很难保证这种”无效操作“不发生,而且你需要不断的保持数据和dom一致性。
希望我的回答对你有帮助。 我的个人主页是https://azl397985856.github.io/ , 掘金主页 https://juejin.im/user/58af98305c497d0067780b3b
bang
react、angular最终操作的还是DOM,而且中间还有有一层额外的操作,当然会比真实的操作要慢。
我们说它快是因为:react减少了真实的DOM操作,用虚拟DOM操作代替,然后对比虚拟和真实DOM,不一致的地方才真实地操作DOM,用这样的方式来减少DOM操作。
所以我们说React很快。
不是说react操作的是虚拟dom.