React是由Facebook研发、用于解决UI复杂度的开源Javascript库,目前由React联合社区维护
React并不是一个框架,只是一个为了解决复杂度而诞生的的一个库
React的特点(轻量、原生、易扩展、不依赖宿主环境、渐进式、单向数据流、用JS代码声明界面、组件化)
1、创建一个React元素,称作虚拟DOM,本质上是一个对象
React.createElement(),参数1:元素类型,如果是字符串,一个普通的HTML元素,参数2:元素的属性,一个对象,后续参数:元素的子节点
2、JSX
JS的扩展语法,需要使用babel进行转义,(使用JSX语法,会转化成React.createElement())
(如下是两种写法)
// 创建一个span元素
var h1 = <h1 title="第一个React元素">hellow world <span>一个span元素</span></h1>
console.log(h1);
ReactDOM.render(h1, document.getElementById('root'));
// 创建一个span元素
var span = React.createElement("span",{},"一个span元素");
// 创建一个H1元素
var h1 = React.createElement("h1",{
title: '第一个React元素'
},"hellow","world",span)
ReactDOM.render(h1, document.getElementById('root'));
实际上React是由纯原生JS写的,所以生成元素是React.createElement(),但为了写法方便,后续都会通过JSX语法来编写