React之JSX的使用规则及简单代码实例

Posted Icy Hunter

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了React之JSX的使用规则及简单代码实例相关的知识,希望对你有一定的参考价值。

文章目录

JSX

JSX全称javascript XML是react定义的一种类似于XML的JS的扩展语法,本质是React.creatElement(component, props, …chilren)方法的语法糖,作用就是用来简化创建虚拟DOM。

一些规则

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

实例1

js变量值传递、css样式设置,class设置等
默认已经导入react所需的js
jsx1.html文件如下:

<!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>Document</title>
    <style type="text/css">
        .title
            background:palegreen;
            width:200px;
        
    </style>
</head>
<body>
    <div id="test"></div>
    <script src="../js/react.development.js"></script>
    <script src="../js/react-dom.development.js"></script>
    <script src="../js/babel.min.js"></script>
    <script type="text/babel">
        const myId = 'hellO world'
        const myData = "hehehh GG"
        //创建虚拟dom
        const VDOM = (
            <h2 className="title" id=myId.toLowerCase()> 
                <span style=color: 'red', fontSize:'30px'>myData</span>
                <input type="text"/>
            </h2>
        )
        //渲染虚拟dom到页面
        // ReactDOM.render(虚拟DOM, 容器)
        ReactDOM.render(VDOM, document.getElementById('test'))
        /*
        jsx语法规则
        1.定义虚拟dom不用写引号
        2.标签种混入js表达式要有
        3.样式类名指定使用className
        4.内联样式,要用style=key:value的形式去写
        5.必须只有一个根标签
        6.标签需要闭合
        7.标签首字母:
                1)若小写字母开头,则将标签改为html中同名元素
                2)若大写字母开头,react则去渲染对应的组件,若组件没有定义,则报错

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

运行结果:

实例2

遍历js遍历生成dom
jsx2.html如下:

<!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>Document</title>
    <style type="text/css">
        .title
            background:palegreen;
            width:200px;
        
    </style>
</head>
<body>
    <div id="test"></div>
    <script src="../js/react.development.js"></script>
    <script src="../js/react-dom.development.js"></script>
    <script src="../js/babel.min.js"></script>
    <script type="text/babel">
        const data = ["Angular", "React", "Vue"]
            const VDOM = (
                <div>
                    <h1>前端js框架</h1>
                    <ul>
                        
                            data.map(
                                (item, index)=>
                                    return <li key=index>item</li>
                                
                            )
                        
                    </ul>
                </div>
            )
            ReactDOM.render(VDOM, document.getElementById("test"))
    </script>
</body>
</html>

运行结果如下:

参考

https://www.bilibili.com/video/BV1wy4y1D7JT?p=5&spm_id_from=pageDriver&vd_source=f57738ab6bbbbd5fe07aae2e1fa1280f

以上是关于React之JSX的使用规则及简单代码实例的主要内容,如果未能解决你的问题,请参考以下文章

请问怎么学习react.js

react之jsx语法规则

react之jsx语法规则

react之jsx语法规则

JSX语法及特点介绍

react之jsx语法规则