赞
踩
全称: JavaScript XML,是一个JavaScript的语法扩展。
用来简化创建虚拟DOM
写法:var ele = <h1>Hello JSX!</h1>
注意:
1、它不是字符串, 也不是HTML/XML标签
2、它最终产生的就是一个JS对象
<span>{myData}</span>
className="title"
style={{color: "red", fontSize: "30px"}}
代码示例:
<!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>Title</title> <style> .title { background-color: orange; width: 200px; } </style> </head> <body> <div id="test"></div> <!--此处引入的文件有一定的顺序--> <!--引入react核心库--> <script src="../js/react.development.js"></script> <!--引入react-dom,用于支持react操作dom--> <script src="../js/react-dom.development.js"></script> <!--引入babel,用于将jsx转为js--> <script src="../js/babel.min.js"></script> <!--注意这里写的是type="text/babel",且一定要写babel--> <script type="text/babel"> const myId = "myTest"; const myData = 'hello REACT' //1、创建虚拟DOM const VDOM = ( <div> <h1 className="title" id={myId}> <span style={{color: "red", fontSize: "30px"}}>{myData}</span> </h1> <h1 className="title" id={myId.toUpperCase()}> <span style={{color: "red", fontSize: "30px"}}>{myData}</span> </h1> <input type="text"/> </div> );//此处一定不要写引号,因为不是字符串,是jsx //2、渲染虚拟DOM ReactDOM.render(VDOM, document.getElementById('test')) </script> </body> </html>
运行结果:
注意:1、js表达式和js语句的区别;2、只能循环数组;3、循环绑定key,key需要唯一(绑定下标有一定的问题,后面会逐步学习解决)
<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"> /*一定注意区分:【js语句(代码)】与【js表达式】 * 【js表达式】:一个表达式会产生一个值,可以放在任何一个需要值的地方 * 下面这些都是表达式: * 1、a * 2、a+b * 3、demo(1) * 4、arr.map() * 5、function test(){} * 【js语句(代码)】: * 下面这些都是语句(代码): * 1、if(){} * 2、for(){} * 3、switch(){case:xxxxx} * */ //模拟一些数据 const data = ['Angular', 'React', 'Vue']; //1、创建虚拟DOM const VDOM = ( <div> <h1>前端js框架列表</h1> <ul> {data.map((item,index) => { return <li key={index}>{item}</li> })} </ul> </div> );//此处一定不要写引号,因为不是字符串,是jsx //2、渲染虚拟DOM ReactDOM.render(VDOM, document.getElementById('test')) </script> </body>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。