为什么需要虚拟dom?
在浏览器中,dom树由dom模块管理,js引擎是不能直接操作dom,因此,浏览器对象window.document对象下封装了很多接口,这些接口是由c++写的,通过window.document.getElement()操作可操作dom,通过操作结果返回给js引擎(借助父级模块实现两个统计模块交互),所以操作真实dom代价很大(c++和js数据结构的转换问题)。
因此,减少对真实dom的操作,虚拟dom是目前较为流行的一个解决方案。
虚拟dom树:以js对象的形式描述一棵树,在react中,通过新虚拟dom和旧虚拟dom对比,更新计算出如何以最小的代价操作真实DOM。
总结:用高效的js操作,来减少低性能的操作,来提升网页性能。
文章对比:https://blog.csdn.net/qq_41694291/article/details/108306019?utm_medium=distribute.pc_category.none-task-blog-hot-20.nonecase&depth_1-utm_source=distribute.pc_category.none-task-blog-hot-20.nonecase&request_id=