-
JSX 练习总结
- 定义虚拟dom时不加字符串引号
- 标签中引入变量或者js表达式要使用 {}
- 样式的类名使用className
- 内联样式要使用style={{key:value}}
- 只能有一个个标签,所有标签必须闭合
- 标签如果是小写字母则代表使用html标签,大写则是自定义的组件,都没有找到会报错
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<div id="root"></div>
<script
crossorigin
src="https://unpkg.com/react@18.2/umd/react.development.js"
></script>
<!-- 引入react-dom用于支持react操作dom -->
<script
crossorigin
src="https://unpkg.com/react-dom@18.2/umd/react-dom.development.js"
></script>
<!-- 引入babel转换jsx为js -->
<script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
<!-- jsx 写法 -->
<script type="text/babel">
const liqy = "foreverGod";
const text = "一只纯小白";
const vdom = (
<>
<div id={liqy} className="title">
<h1 style={{color: "red", fontSize: "60px"}}>{text}</h1>
</div>
<a href="https://www.baidu.com">百度百科</a>
<img/>
<div>style内连样式的两个大括号,第一个大括号表示里面可以写js表达式,代表一个对象</div>
<div>只能有一个标签进行包裹,最外层有一对无含义的空标签,浏览器无实际渲染效果</div>
<div>标签必须闭合</div>
<div>学习react</div>
</>
);
const root = ReactDOM.createRoot(document.getElementById("root"));
root.render(vdom);
</script>
</body>
</html>