1. 简介
JSX,是一个 JavaScript 的语法扩展,使用JSX可以提高我们的开发效率;
JSX语法是类XML语法,好处是标签可以任意嵌套,我们可以像HTML一样清晰看到DOM树结构和其属性
2. 语法规则
- 标签中使用表达式时要用{}
- 只有一个根标签
- 标签必须闭合
- 标签首字母
若首字母为小写,则将对应的标签转为同名的HTML标签,若HTML中没有该标签,则报错
若首字母为大写,React认为这是个自定义的React组件,则去渲染对应的组件,没有该组件就报错 - 标签的属性字段一般为驼峰命名的方式,要使用React中的属性字段,比如HTML中的class属性必须用className
- 内联样式 style = {{ color: black }}
- 注释格式{/* 行注释 */}
3. 示例代码
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Hello React</title>
<script src="https://unpkg.com/react@16/umd/react.development.js"></script>
<script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
<script src="https://unpkg.com/babel-standalone@6.15.0/babel.min.js"></script>
</head>
<body>
<div id="test"></div>
<script type="text/babel">
// 创建虚拟dom对象,本质是一个JS的普通对象
const vdom = (
// 定义一个根标签,所有内容都写在这个根标签内
<div>
{/* 行注释 */}
<h1 style={{fontSize: 18}}> hello</h1>
<h1 style={{fontSize: 38}}> hello</h1>
</div>
)
// 将虚拟DOM转化为真实DOM
ReactDOM.render(vdom,document.getElementById('test'))
</script>
</body>