React学习计划-React16--React基础(一)虚拟DOM与JSX
1. 初识虚拟DOM
- 描述
- 什么是虚拟
DOM呢?本质是Object类型的对象(一般对象) - 我们为什么要了解虚拟
DOM呢?很简单,因为React要用
- 什么是虚拟
- 我们第三点会使用
React分别使用js和jsx创建虚拟DOM,在此呢,我们先要了解两大js库:react.js:react的核心库react-dom.js:用于支持react操作DOM- 注意:加
development表示开发模式的库
- 开始进入对比分析
- 我们先使用用
js创建虚拟DOM
![在这里插入图片描述]()
- 我们先使用用
运行效果:

如图分析:
一、
React.createElement函数创建虚拟DOM需要三个参数,若是想要内部添加字标签,继续使用React.createElement创建
1. 标签体
2. 标签属性
3. 标签内内容
二、ReactDOM.render将虚拟DOM渲染到页面中需要两个参数
1.VDOM虚拟DOM
2. 渲染的容器document.getElementById('test')
- 在
React中呢,我们大都使用.jsx语法,可以理解为和.js一样,就是文件后缀不一样。现在我们用.jsx语法创建虚拟DOM
![在这里插入图片描述]()
运行效果:

如图分析:
- 我们使用
.jsx语法也能创建虚拟DOM,结构和我们的html一致,更加方便阅读与编程- 我们的样式可以写在外部
- 我们在使用
.jsx语法的时候注意一点,是script标签的type一定要写babel,并且要将babel引入,而babel的主要作用就是将jsx转为js。- 当然我们有很多方法去吧babel下载到本地,比如访问官网;再比如我们直接打开此链接;甚至可以访问稍微低一点旧的版本的
babel;当然包括我在上面所用的版本
- 虚拟
DOM和真实DOM来一波比较,React为什么要用虚拟DOM?
![在这里插入图片描述]()
运行效果:

进行分析:
- 本质是
Object类型的对象(一般对象)- 虚拟
DOM比较’轻’,真实DOM比较’重’,因为虚拟DOM是React内部在用,无需真实DOM上那么多属性- 虚拟
DOM最终会被React转化为真实DOM,呈现在页面上
2. jsx语法规则:
认识了虚拟DOM之后,我们也通过对比知道了使用jsx创建虚拟DOM要比js更加方便编写与阅读,所以react使用jsx语法编写代码,那么就介绍下jsx的语法规则:
- 定义虚拟
DOM时,不要写引号 - 标签中混入
JS表达式时要用{} - 样式的类名指定要用
className,不要用class - 内联样式要用
style={{key: value}}的形式去写 - 只有一个根标签
- 标签必须闭合
- 标签首字母
- 若小写字母开头,则将改标签转为
html中同名元素,若html中无该标签对应的同名元素,则报错 - 若大写字母开头,
react就去渲染对应的组件,若组件没有定义,则报错。这提一嘴组件,我们下节就介绍组件。
- 若小写字母开头,则将改标签转为
示例:




浙公网安备 33010602011771号