jsx语法规则

Tutorial: React基础 Category: React Published: 2026-04-07 13:58:26 Views: 20 Likes: 0 Comments: 0

04_jsx 语法规则

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>jsx语法规则</title>
    <style>
      .title {
        background-color: orange;
        width: 200px;
      }
    </style>
  </head>

  <body>
    <!-- 准备好一个"容器" -->
    <div id="test"></div>

    <!-- 引入react核心库 -->
    <script type="text/javascript" src="./js/react.development.js"></script>

    <!-- 引入react-dom, 用于支持react操作DOM -->
    <script
      type="text/javascript"
      src="./js/react-dom.development.js"
    ></script>

    <!-- 引入babel, 用于将jsx转为js -->
    <script type="text/javascript" src="./js/babel.min.js"></script>

    <script type="text/babel">
      const myId = "aTgUiGu";
      const myData = "HeLlo,rEaCt";

      //1.创建虚拟DOM
      const VDOM = (
        <div>
          <h2 className="title" id={myId.toLowerCase()}>
            <span style={{ color: "white", fontSize: "29px" }}>
              {myData.toLowerCase()}
            </span>
          </h2>
          <h2 className="title" id={myId.toUpperCase()}>
            <span style={{ color: "white", fontSize: "29px" }}>
              {myData.toLowerCase()}
            </span>
          </h2>
          <input type="text" />
        </div>
      );

      // 2.渲染虚拟DOM到页面
      ReactDOM.render(VDOM, document.getElementById("test"));

      /*
        jsx语法规则:
            1.定义虚拟DOM时, 不要写引号.
            2.标签中混入JS表达式时要用{}.
            3.样式的类名指定不要用class, 要用className.
            4.内联样式, 要用style={{key:value}}的形式去写.
            5.只有一个根标签
            6.标签必须闭合
            7.标签首字母
                (1).若小写字母开头, 则将该标签转为html中同名元素, 若html中无该标签对应的同名元素, 则报错.
                (2).若大写字母开头, react就去渲染对应的组件, 若组件没有定义, 则报错.

      */
    </script>
  </body>
</html>