jsx语法规则

简介: jsx语法规则

1.全名javascropt XML

XML示意图:

    <student>
        <name></name>
        <address></address>
    </student>

可以转化为JSON

JSON示意:{"name":"front-end","address":"shenzhen"}

JSON有两个转化方式:parse,stringfy

parse表示将XML转化为JSON,stringfy表示将json转化为XML


2.定义虚拟DOM的时候,不能带引号。在引入js变量的时候,要使用括号{  }

<!DOCTYPE html>
<html lang="en">
<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>使用js创建DOM</title>
</head>
<body>
    <div id="test"></div>
    <script src="./react-resource/react.development.js"></script>
    <script src="./react-resource/react-dom.development.js"></script>
    <script src="./react-resource/babel.min.js"></script>
    <script type="text/babel">
        const myID="laoZHICHI"; const myDATA="Hello!React"; 
        const VDOM=(
        <h1 id={myID.toLocaleUpperCase()}>
            <span>{myDATA.toLocaleLowerCase()}</span>
        </h1>); 
        ReactDOM.render(VDOM,document.getElementById("test"));
    </script>


3.样式类名指定不能用class,要用className

<!DOCTYPE html>
<html lang="en">
<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>使用js创建DOM</title>
</head>
<style>
    .title {
        color: aqua;
        font-size: large;
    }
</style>
<body>
    <div id="test"></div>
    <script src="./react-resource/react.development.js"></script>
    <script src="./react-resource/react-dom.development.js"></script>
    <script src="./react-resource/babel.min.js"></script>
    <script type="text/babel">
        const myID="laoZHICHI"; const myDATA="Hello!React"; const VDOM=(
        <h1 className="title">
            <span>{myDATA.toLocaleLowerCase()}</span>
        </h1>); ReactDOM.render(VDOM,document.getElementById("test"));
    </script>
</body>
</html>

4.内联样式要用格式style={{key:value}}

<!DOCTYPE html>
<html lang="en">
<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>使用js创建DOM</title>
</head>
<style>
    .title {
        color: aqua;
        font-size: large;
    }
</style>
<body>
    <div id="test"></div>
    <script src="./react-resource/react.development.js"></script>
    <script src="./react-resource/react-dom.development.js"></script>
    <script src="./react-resource/babel.min.js"></script>
    <script type="text/babel">
        const myID="laoZHICHI"; const myDATA="Hello!React"; const VDOM=(
        <h1 className="title">
            <span style={{color: 'orange',fontSize: '20px'}}>{myDATA.toLocaleLowerCase()}</span>;
        </h1>); 
        ReactDOM.render(VDOM,document.getElementById("test "));
    </script>
</body>
</html>

5.虚拟DOM必须只有一个根标签

例如在这里多个<h1></h1>要用一个大的div盒子来装

<!DOCTYPE html>
<html lang="en">
<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>使用js创建DOM</title>
</head>
<style>
    .title {
        color: aqua;
        font-size: large;
    }
    .title1{
        color: azure;
        font-size: large;
    }
</style>
<body>
    <div id="test"></div>
    <script src="./react-resource/react.development.js"></script>
    <script src="./react-resource/react-dom.development.js"></script>
    <script src="./react-resource/babel.min.js"></script>
    <script type="text/babel">
        const myID="laoZHICHI"; const myDATA="Hello!React"; 
        const VDOM=(
            <div>
               <h1 className="title">
                   <span style={{color: 'orange',fontSize: '20px'}}>{myDATA.toLocaleLowerCase()}</span>;
               </h1>
               <h1 className="title1">
                   <span style={{color: 'orange',fontSize: '20px'}}>{myDATA.toLocaleLowerCase()}</span>;
               </h1>
            </div>
        )
        ReactDOM.render(VDOM,document.getElementById("test "));
    </script>
</body>
</html>

6.标签必须要闭合

7.标签首字母

A.若为小写字母开头,则将该标签改为html当中的同名元素,若html当中无相关的对应元素,那么就报错

B.若为大写字母开头,那么就去React当中的组件当中寻找相关的渲染组件,如果没有,那么就报错。

相关文章
|
7月前
|
前端开发 JavaScript
jsx的语法规则
jsx的语法规则
|
JavaScript 前端开发
在JSX中书写JS代码
在JSX中书写JS代码
在JSX中书写JS代码
|
3月前
|
XML 前端开发 JavaScript
JSX 语法详解
【9月更文挑战第2天】本文详细介绍了React框架中核心组件JSX的基本概念与高级用法,包括基本语法、条件与列表渲染等。并通过具体示例讲解了如何避免常见的错误,如忘记闭合标签、未使用`key`属性及属性名大小写问题,帮助读者更好地理解和运用JSX,提升React应用程序的开发质量。
67 4
|
6月前
|
前端开发 JavaScript
JSX 中带有大括号的 JavaScript
JSX 中带有大括号的 JavaScript
|
6月前
|
前端开发 JavaScript 安全
使用 JSX 书写标签语言
使用 JSX 书写标签语言
|
XML JavaScript 前端开发
react总结之jsx是什么,jsx语法规则
react总结之jsx是什么,jsx语法规则
|
7月前
|
XML 前端开发 JavaScript
jsx的语法规则?
jsx的语法规则?
|
7月前
|
前端开发 JavaScript
【React学习】—jsx语法规则(三)
【React学习】—jsx语法规则(三)
|
前端开发 JavaScript
JSX语法入门
JSX语法入门
51 0

热门文章

最新文章