JSX语法规则
- 定义虚拟DOM的时候,一定不要加引号。
- 标签中混入Js语法时要用{}。
- 样式的类名一定要用className
- 内联样式要用{key:value}的格式去写
- 虚拟DOM必须只有一个根标签
- 标签必须闭合
- 标签首字母
(1)若小写字母开头,则将该标签转为 同为html中的元素,若html中无该标签,则报错。
(2)若大写字母开头,React就去渲染对应的组件,若组件没有定义,则报错。
下面贴下练习代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>react</title>
<style>
.title {
background-color: orange;
width: 200px;
}
</style>
</head>
<body>
<div id="text"></div>
<script src="https://unpkg.com/react@17/umd/react.development.js"></script>
<script src="https://unpkg.com/react-dom@17/umd/react-dom.development.js"></script>
<!-- 加载 Babel -->
<script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>
<script type="text/babel">
//创建虚拟DOM
const myId = "aguigu";
const myDate = "HeLLO WORLD";
const VDOM = (
<div>
<h2 className="title" id={myId.toLowerCase()}>
<span style={{ color: "white", fontSize: "29px" }}>
{myDate.toLowerCase()}
</span>
</h2>
<input type="text" />
</div>
);
//渲染虚拟DOM到页面
ReactDOM.render(VDOM, document.getElementById("text"));
</script>
</body>
</html>