news 2026/5/16 17:29:53

005-006 jsx语法规则、jsx小练习

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
005-006 jsx语法规则、jsx小练习

jsx语法规则

  1. 定义虚拟DOM,不要写引号。
  2. 标签中混入JS表达式要用{}。
  3. 样式的类名指定不要用class,要用className。
  4. 内联样式,要用style={{key:value}}的形式去写。
  5. 虚拟DOM必须只有一个根标签。
  6. 标签必须闭合。
  7. 标签首字母 (1) 若小写字母开头,则将该标签转为html中同名元素,若html中无该标签对应的同名元素,则报错。 (2) 若大写字母开头,react就去渲染对应的组件,若组件没有定义,则报错。
<!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> .title { background-color: orange; width: 200px; } </style> </head> <body> <div id="test"></div> <script type="text/javascript" src="../js/react.development.js"></script> <script type="text/javascript" src="../js/react-dom.development.js"></script> <script type="text/javascript" src="../js/babel.min.js"></script> <script type="text/babel"> const myId = 'aTgUiGu' const myData = 'Hello,rEaCt' //1.create virtual dom const VDOM = ( <div> <h2 className="title" id={myId.toLowerCase()}> <span style={{ color: 'white', fontSize: '29px' }}>{myData.toLowerCase()}</span> </h2> <h2 className="title" id={myId.toUpperCase()}> <span style={{ color: 'white', fontSize: '29px' }}>{myData.toLowerCase()}</span> </h2> <input type="text" /> </div> ) //2.render virtual dom to page ReactDOM.render(VDOM, document.getElementById('test')) </script> </body> </html>

jsx小练习

一定注意区分:【js语句(代码)】与【js表达式】:

表达式:一个表达式会产生一个值,可以放在任何一个需要值的地方(左边可以用一个const=衔接的)
下面这些都是表达式:
(1) a
(2) a+b
(3) demo(1)
(4) arr.map()
(5) function test () {}
语句(代码)
下面这些都是语句(代码):
(1) if() {}
(2) for() {}
(3) switch() {case: xxx}

<!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> </head> <body> <div id="test"></div> <script type="text/javascript" src="../js/react.development.js"></script> <script type="text/javascript" src="../js/react-dom.development.js"></script> <script type="text/javascript" src="../js/babel.min.js"></script> <script type="text/babel"> //simulate some data const data = ['Angular', 'React', 'Vue'] //1.create virtual DOM const VDOM = ( <div> <h1>前端js框架列表</h1> <ul> { data.map((item, index) => { return <li key={index}>{item}</li> }) } </ul> </div> ) //2.render virtual DOM to page ReactDOM.render(VDOM, document.getElementById('test')) </script> </body> </html>

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/9 6:09:11

忍者像素绘卷应用场景:微信小程序‘忍者技能树’像素图标动态生成

忍者像素绘卷在微信小程序忍者技能树中的像素图标动态生成实践 1. 项目背景与需求分析 微信小程序"忍者技能树"是一款以忍者文化为主题的养成类应用&#xff0c;用户可以通过学习不同忍术来解锁技能节点。在开发过程中&#xff0c;团队面临一个关键挑战&#xff1a…

作者头像 李华
网站建设 2026/4/9 6:09:10

GLM-4-9B-Chat-1M在电商场景的应用:智能客服与推荐系统

GLM-4-9B-Chat-1M在电商场景的应用&#xff1a;智能客服与推荐系统 1. 为什么电商需要更聪明的AI助手 最近帮一家做家居用品的电商团队做技术咨询&#xff0c;他们提到一个很实际的问题&#xff1a;每天上千条客户咨询里&#xff0c;有七成是重复问题——“这个沙发能定制颜色…

作者头像 李华
网站建设 2026/4/9 6:01:03

人机交互避坑指南:酒店管理系统控制流设计的7个常见错误

人机交互避坑指南&#xff1a;酒店管理系统控制流设计的7个常见错误 在酒店管理系统的开发中&#xff0c;控制流设计是确保系统稳定性和用户体验的关键环节。许多开发团队在初期往往更关注功能实现&#xff0c;而忽视了控制流的合理规划&#xff0c;导致系统在真实业务场景中出…

作者头像 李华
网站建设 2026/4/9 6:00:24

ARM vs x86:MMU内存管理单元设计差异全解析(附页表对比)

ARM vs x86&#xff1a;MMU内存管理单元设计差异全解析&#xff08;附页表对比&#xff09; 在处理器架构的演进历程中&#xff0c;内存管理单元&#xff08;MMU&#xff09;始终扮演着关键角色。作为连接CPU与物理内存的桥梁&#xff0c;MMU的设计哲学直接影响着系统性能、安全…

作者头像 李华
网站建设 2026/4/10 8:46:44

Pixel Epic智识终端实操手册:研报导出PDF/Markdown/HTML格式设置

Pixel Epic智识终端实操手册&#xff1a;研报导出PDF/Markdown/HTML格式设置 1. 引言&#xff1a;像素史诗的文档冒险 在Pixel Epic智识终端的世界里&#xff0c;每一份研究报告都是勇者与贤者共同完成的史诗卷轴。当贤者完成知识编织后&#xff0c;如何将这些珍贵的智慧结晶…

作者头像 李华