浅析虚拟DOM

虚拟DOM是JS对象,用于描述真实DOM。在React中,state变化导致新虚拟DOM生成,通过diff算法找到变化部分,减少真实DOM的更新,提高性能。其优点在于避免频繁直接操作DOM,减少重绘和排版,实现局部渲染。
摘要由CSDN通过智能技术生成

对于我们学习vue和react框架的童鞋们来说,虚拟DOM绝不是一个生疏的东西,对于我们使用的MVVM(m:是model层;v:是视图层;vm:是model层和view层中间的一个映射层)渲染中虚拟DOM常常被使用到,但具体是如何使用的,我们却不是很清楚,现在我将跟大家说说我的理解。

什么是虚拟DOM

虚拟DOM其实就是一个JS对象,用它来描述真实DOM

在我们书写react实例中,首先我们先有了state,即先有了数据

this.state={
	app:"hello app"
} 

然后我们要开始书写render函数,也就是用jsx语法去书写页面中我们需要的声明

<div><span>{
  {this.state.app}}</span></div>

这里react会自动帮你处理,等同于我们写:

React.createElement(
  'div',
   React.createElement('span', {}, 'hello app')
)

这时react会将我们写的JSX也就是模板语法+数据根据上述方法生成一个虚拟DOM ,虚拟DOM通常有3个参数,第一个是标签名,第二个是标签上的属性(无可以不写),第三个是标签包裹的内容,如上段代码

然后react将用虚拟DOM的结构生成真实的DOM来显示内容,当state发生变化,数据&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值