React
web前端-前端问答
待会员的驾考源码,ubuntu如何使用su,爬虫数据编码,ajax安装 php,py seo采集lzw
react为什么要引入虚拟dom财务借款系统源码,Ubuntu的fish使用,%2f tomcat8,多脚蜘蛛爬虫,php数据库搭建教程外包,绍兴seo快照lzw
React框架的核心之一就是虚拟DOM,相对于实际DOM而言,虚拟DOM可以更好地提升页面性能。众筹网系统源码,vscode中怎么输入,ubuntu镜像修复,tomcat配置的端口,爬虫图纸,php布尔型,韶关抖音seo费用,java 动漫网站源码,比赛直播网站模板lzw
为什么要使用虚拟DOM?通常设计人员在设计传统HTML网页的UI时, 都会在页面中定义若干的DOM元素, 这些DOM元素是所谓的实际DOM。实际DOM负责承载着外观表现和数据变化,任何外观形式的改变或数据信息的更新都要反馈到UI上, 都是需要通过操作实际DOM来实现的。但对于复杂的页面UI而言, 往往会定义大量的实际DOM。频繁地操作大量实际DOM, 往往会带来访问性能的严重下降, 用户体验也会随之变差, 因此, React框架专门针对这个现象引入了虚拟DOM机制,以避免频繁的DOM操作带来的性能下降问题。
React DOM类似于一种将相关的实际DOM组合在一起的集合, 是有区别于传统概念上的DOM元素的,如果将其理解为DOM组件应该更为贴切,所以React框架将ReactDOM称为虚拟DOM。
创建虚拟DOM
纯js方式 React.createElement(‘h1’,{},title)
JSX方式
{title}
下面感受一下实际DOM和虚拟DOM书写的区别
实际DOM
// 实际DOM // 定位到div const divDOM = document.getElementById('example'); // 创建DOM控件 const jsSpan = document.createElement('span'); const jsH3 = document.createElement('h3'); jsH3.innerHTML = '实际DOM'; const jsP = document.createElement('p'); jsP.innerHTML = 'Hello World!'; jsSpan.appendChild(jsH3); jsSpan.appendChild(jsP); divDOM.appendChild(jsSpan);
虚拟DOM
在使用React框架之前需要提前导入React的js库
// type必须有 // 虚拟DOM const divReact = document.getElementById('example'); const reactH3 = React.createElement('h3',{},'虚拟DOM'); const reactP = React.createElement('p',{},'Hello World!'); const reactSpan = React.createElement('span',{},reactH3,reactP); ReactDOM.render(reactSpan,divReact);// 将reactSpan插入divReact
《react视频教学》