jsx
- 全程javascript xml
- 它是react定义的一种xml的js扩展语法:js + xml
jsx语法规则
- 定义虚拟dom时不要加引号
- 标签中混入js表达式时要用花括号
- 样式的类名指定不要用class,要用className
- 内联样式要用style={{key:value}}的形式去写
- 虚拟dom必须只有一个根标签
- 标签必须闭合
- 标签首字母
- (1)若小写字母开头,则将标签转为html同名元素,若html中无该标签对应的同名元素,则报错
- (2)若大写字母开头,react就去渲染对应的组件,若组件没有定义,则报错
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<script src="../lib/react.js"></script>
<script src="../lib/react-dom.js"></script>
<script src="../lib/browser.min.js"></script>
<title>jsx语法规则</title>
<style>
.father{
background-color: red;
}
</style>
</head>
<body>
<div id="container"></div>
<script type="text/babel">
const text='hello react';
//1.创建虚拟dom
const VDOM=(
<div>
<h2 className="father">
<span style={{color:'white'}}>{text}</span>
</h2>
<input type="text"/>
</div>
);
//2.渲染虚拟dom到视图上
ReactDOM.render(VDOM,document.getElementById('container'));
</script>
</body>
</html>