首页前端开发其他前端知识react虚拟dom能实现什么问题,有什么好处吗

react虚拟dom能实现什么问题,有什么好处吗

时间2024-03-25 13:50:03发布访客分类其他前端知识浏览818
导读:今天就跟大家聊聊有关“react虚拟dom能实现什么问题,有什么好处吗”的内容,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 react虚拟dom的用处:1、提升re...
今天就跟大家聊聊有关“react虚拟dom能实现什么问题,有什么好处吗”的内容,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

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对象

div id='abc'>
    span>
    hello world/span>
    /div>
//真实DOM
['div', {
id: 'abc'}
, ['span', {
}
    , 'hello world']]//虚拟DOM

页面加载和更新过程

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比较差异,可以只渲染局部


感谢各位的阅读,以上就是“react虚拟dom能实现什么问题,有什么好处吗”的内容了,通过以上内容的阐述,相信大家对react虚拟dom能实现什么问题,有什么好处吗已经有了进一步的了解,如果想要了解更多相关的内容,欢迎关注网络,网络将为大家推送更多相关知识点的文章。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

React

若转载请注明出处: react虚拟dom能实现什么问题,有什么好处吗
本文地址: https://pptw.com/jishu/652820.html
PHP中判断当天时间段的思路和方法是什么? PHP项目中数据库查询结果输成json怎样做?

游客 回复需填写必要信息