react虚拟dom有什么用处
作者:互联网
2022-07-06
react虚拟dom的用处:1、提升react代码性能,虚拟DOM是一个js对象,创建一个js对象消耗的性能和创建一个真实DOM要小很多,把创建真实DOM替换为创建虚拟DOM就会有极大的性能上的提升;2、实现跨端应用,在浏览器端是将虚拟DOM转换为一个个的浏览器DOM节点,也可以将他转换为原生应用的组件来实现跨端应用。

本教程操作环境:Windows10系统、react17.0.1版、Dell G3电脑。
react虚拟dom有什么用处
1.极大的提升了性能
2.它使得跨端应用( React Native )得以实现。在浏览器端是将虚拟DOM转换为一个个的浏览器DOM节点。也可以将他转换为原生应用的组件,跨段应用就实现了。
为什么能提升性能
如果没有虚拟DOM,那么就会直接创建真实的DOM,每次数据改变就会去创建一个真实的DOM,然后真实的DOM比较,再去修改真实的DOM,创建真实DOM是需要消耗很多性能的(因为JS生成DOM树会调用web application级的API,这种级别的API性能损耗是很大的),这样就会非常消耗性能。
有了虚拟DOM就不一样了,虚拟DOM是一个js对象,创建一个js对象消耗的性能和创建一个真实DOM要小很多,把创建真实DOM替换为创建虚拟DOM就会有极大的性能上的提升。
虚拟DOM
虚拟DOM是一个js对象
页面加载和更新过程
1.state数据
2.jsx模板
3.数据 + 模板生成虚拟DOM
4.用虚拟DOM来生成真实DOM
5.state发生变化
6.数据 + 模板 生成新的虚拟DOM
7.比较原始的虚拟DOM和新的虚拟DOM(diff算法)
8.直接操作DOM,改变不一样的地方
扩展知识:
虚拟DOM的目的是什么?
为了实现按页面中DOM元素的高效更新;
在传统的 Web 应用中,我们往往会把数据的变化实时地更新到用户界面中,于是每次数据的微小变动都会引起 DOM 树的重新渲染。
虚拟DOM的目的是将所有操作累加起来,统计计算出所有的变化后,统一更新一次DOM。
极大的提升了性能
它使得跨端应用( React Native )得以实现。在浏览器端是将虚拟DOM转换为一个个的浏览器DOM节点。也可以将他转换为原生应用的组件,跨段应用就实现了。
DOM和虚拟DOM的区别
1,虚拟DOM不会进行排版与重绘操作
2,虚拟DOM进行频繁修改,然后一次性比较并修改真实DOM中需要改的部分(注意!),最后并在真实DOM中进行排版与重绘,减少过多DOM节点排版与重绘损耗
3,真实DOM频繁排版与重绘的效率是相当低的
4,虚拟DOM有效降低大面积(真实DOM节点)的重绘与排版,因为最终与真实DOM比较差异,可以只渲染局部
相关标签:
相关推荐
专题
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
最新数据
相关文章
都知道AI大模型能生成文本内容,那你知道大模型是怎样生成文本的吗?
vue3 数据响应式遇到的问题
vxe-table 自定义数字行主键,解决默认字符串主键与后端类型不匹配问题
AI 打字跟随优化
你的 Vue 3 defineEmits(),VuReact 会编译成什么样的 React?
Vue3 + TS 企业级工程化项目全套实战(Vue3 + Vite + Pinia + VueRouter + Element Plus)
Vue 3 defineOptions 宏,用 VuReact 编译成 React 长什么样?
Vue3 KeepAlive 深度揭秘:组件缓存的魔法是如何实现的?
你的 Vue 3 useAttrs(),VuReact 会编译成什么样的 React?
虚拟 DOM 的 Diff 算法:Vue/React 如何实现高效更新
AI精选
