jsx

  • 全程javascript xml
  • 它是react定义的一种xml的js扩展语法:js + xml

jsx语法规则

  1. 定义虚拟dom时不要加引号
  2. 标签中混入js表达式时要用花括号
  3. 样式的类名指定不要用class,要用className
  4. 内联样式要用style={{key:value}}的形式去写
  5. 虚拟dom必须只有一个根标签
  6. 标签必须闭合
  7. 标签首字母
  • (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>