这次给大家带来react中JSX 语法使用详解,react中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 标签中用到 js 代码,则用花括号({expression})括起来。
var name = "DK"; var style = {fontSize: '12px', color: 'red'}; var html = <span>{name}</span>;
最终上面的代码将会解析成
<span>DK</span>
<!--react 核心库--> <script></script> <!--react 跟 Dom 相关的功能库--> <script></script> <!--babel 库,将 JSX 语法转为 JavaScript 语法--> <script></script>
<script></script>
reactDOM.render
进行将 html 标签渲染到指定的容器<p></p> <p></p> <p></p> <!--jsx 语法--> <script> //将标签直接渲染到容器 p1 当中 reactDOM.render(<h1>DK, document.getElementById('p1')); var _style = {fontSize: '12px', color: 'red'}; var _name = "Tom"; var _obj = {name: "DK", age: 18}; //标签与 js 代码混写 reactDOM.render(<h1 style={_style}>{_obj.age + (1 + 2)}, document.getElementById('p2')); 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('p3') ); </script>
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
以上就是React中JSX 语法使用详解的详细内容,更多请关注php中文网其它相关文章!
Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号