react 是react核心库,只要使用react就必须要引入
下载地址:https://unpkg.com/react@18.0.0/umd/react.development.js
react-dom 是react的dom包,使用react开发web应用时必须引入
下载地址:https://unpkg.com/react-dom@18.0.0/umd/react-dom.development.js
注意引用先后顺序 先引用react核心库,再引用react-dom
用来创建一个react元素
参数1:元素名(组件名)
参数2:元素中的属性
设置事件的时候 需要使用驼峰和箭头函数 {onClick:()=>{alert('123')}}
class属性设置 需要使用className
参数3:元素的子元素
// 创建一个React元素const button = React.createElement('button', {type: 'button',className: 'hello',onClick: () => {alert('你点我干嘛')}}, '点我一下');

// 创建第一个divconst div = React.createElement('div', {}, '我是一个div', button);// 获取根元素const root = ReactDOM.createRoot(document.getElementById('root'));// 将元素在根元素中显示root.render(div);// 老版本的React中使用方法// ReactDOM.render(div, document.getElementById('root'));
React.createElement()语法糖
JSX 是 JavaScript 的语法扩展,JSX 使得我们可以以类似于 HTML 的形式去使用 JS。JSX便是React中声明式编程的体现方式。声明式编程,简单理解就是以结果为导向的编程。使用JSX将我们所期望的网页结构编写出来,然后React再根据JSX自动生成JS代码。所以我们所编写的JSX代码,最终都会转换为以调用React.createElement()创建元素的代码。
需要配合babel使用,babel转换jsx为react元素
babel下载地址:https://unpkg.com/babel-standalone@6/babel.min.js
JSX
const name = '孙悟空';
const ele = Hello {name}
;
const ele2 = Hello {孙悟空}
;
const ele3 = 1 + 1 = {1 + 1}
;
function fn(){return '哈哈';
}
const ele = {fn()}
没有返回值的语句,像if、for等语句是不能出现在JSX中的!但是在if、for等里边写JSX是可以的:
let ele;
let isLogin = true;
if(isLogin){ele = 欢迎光临!
;
}else{ele = 请登录!
}
let eles = [];
for(let i=0; i<5; i++){eles.push(我是第{i}个h2
);
}
JSX的注意