登录  /  注册
首页 > web前端 > js教程 > 正文

React中JSX 语法使用详解

php中世界最好的语言
发布: 2018-05-24 14:41:04
原创
1587人浏览过

这次给大家带来react中JSX 语法使用详解,react中JSX 语法使用的注意事项有哪些,下面就是实战案例,一起来看一下。

JSX 语法

一种特殊的 js 语法糖,可以在代码中把 html 标签当对象使用,其可以总结成以下几个特点:

不加任何引号

以前在 js 中使用 html 标签都是加上引号当成字符串使用,而在 jsx 语法中不用加引号,直接当对象使用

    var html = <h1>react</h1>;
登录后复制

标签一定要有对应的结束标标签或结束标识:

有时候我们在写 html 结构的时候,都没有把对应的结束标识加上,但浏览器能正常解析,但在 jsx 语法当中,则要强制写标准的 html 结构
这一段 html 标签在浏览器是能正常解析

    <input>
登录后复制

这一段在 jsx 语法当中则会报错

    var html = <input>;
登录后复制

jsx 正确写法应该是这样的

    var html = <input>;
    var p = 

react

;
登录后复制

只能有一个根节点

在 jsx 语法当中,最顶层的结构一定只有一个节点,不能出现兄弟节点

    var html = 
    <p>
        </p><h1>Tom</h1>
        <h1>Lucy
    </h1>
登录后复制

不能在标签当中加注释

在 jsx 语法当中,html 标签是一个对象,是一种数据结构,而不是真实的 dom 节点,也不是字符串,所以在标签当中不能添加注释。
下面的代码是在标签当中添加了注释,所以会报错。

    var html = 
    <p>
        <!--不能添加注释,这里会报错-->
        </p><h1>Tom</h1>
        <h1>Lucy
    </h1>
登录后复制

jsx 语法允许 html 标签和 javascript 代码混写

在 jsx 语法当中,要在 html 标签中用到 js 代码,则用花括号({expression})括起来。

    var name = "DK";
    var style = {fontSize: '12px', color: 'red'};
    var html = <span>{name}</span>;
登录后复制

最终上面的代码将会解析成

    <span>DK</span>
登录后复制

react 使用

react 是一个第三方的框架库,所以在使用前要先把相关的库文件引入。

    <!--react 核心库-->
    <script></script>
    <!--react 跟 Dom 相关的功能库-->
    <script></script>
    <!--babel 库,将 JSX 语法转为 JavaScript 语法-->
    <script></script>
登录后复制

react 是基于 jsx 语法去实现,所以需要明确 script 的类型为 text/babel

    <script></script>
登录后复制

使用 react 的核心对象和方法reactDOM.render进行将 html 标签渲染到指定的容器

    
        <p></p>
        <p></p>
        <p></p>
        <!--jsx 语法-->
        <script>
            //将标签直接渲染到容器 p1 当中
            reactDOM.render(<h1>DK, document.getElementById(&#39;p1&#39;));
            var _style = {fontSize: &#39;12px&#39;, color: &#39;red&#39;};
            var _name = "Tom";
            var _obj = {name: "DK", age: 18};
            //标签与 js 代码混写
            reactDOM.render(<h1 style={_style}>{_obj.age + (1 + 2)}, document.getElementById(&#39;p2&#39;));
            var array = ["Tom", "Lucy", "Lily"];
            //多级标签和 js 代码混写
            reactDOM.render(
                <p>
                    <ul>
                        {
                            array.map(function(arg1, arg2){
                                return <li key={arg2}>{arg1};
                            })
                        }
                    
                    <ul><li>Sam
                    <ul><li><input type="text" />
                ,
                document.getElementById(&#39;p3&#39;)
            );
        </script>
    
登录后复制

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

JS中使用接口步骤详解

PromiseA+的实现步骤详解

以上就是React中JSX 语法使用详解的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号