当前位置: 首页 > news >正文

React基础教程(三):JSX语法

React基础教程(三):JSX语法

1、JSX简介

  1. 全称:JavaScript XML
  2. react定义的一种类似于XML的JS扩展语法:JS+XML
  3. 本质是React.createElement(component, props, ...children)方法的语法糖
  4. 作用:用来简化创建虚拟DOM(注意:它不是字符串,也不是HTML/XML标签;它最终产生的就是一个JS对象)
  5. 标签名任意:HTML标签或其他标签

2、JSX语法规则

  1. 定义虚拟DOM的时候不要写引号
  2. 标签中混入JS表达式时要用{}
  3. 样式的类名指定不要用class,要用className
  4. 内联样式,要用style={{key:value}}的形式去写
  5. 虚拟DOM必须只有一个根标签
  6. 标签必须闭合
  7. 标签首字母:①若小写字母开头,则将改标签转为html中同名元素,若html中无该标签对应的同名元素,则报错。②若大写字母开头,react就去渲染对应的组件,若组件没有定义,则报错。

代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Hello React</title><!--    引入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>
</head>
<body>
<!--    准备容器-->
<div id="test"></div><!--此处一定要写babel-->
<script type="text/babel">const myId = "react";const myData = "Hello React !!!";// 1、创建虚拟DOMconst virtualDOM = (<div><h1 className={'title'} id={myId}><span style={{color: "red", fontSize: '29px'}}>{myData}</span></h1><h1 className={'title'} id={myId.toUpperCase()}><span style={{color: "red", fontSize: '29px'}}>{myData}</span></h1><label><input type="text"/></label></div>);// 2、渲染虚拟DOMReactDOM.render(virtualDOM, document.getElementById("test"));
</script>
</body>
</html>
<style>.title {background-color: bisque;}
</style>

3、JSX小练习

需求:动态展示如下列表:
在这里插入图片描述

小插曲:什么是表达式?

  1. 一个表达式会产生一个值,可以放在任何一个需要值的地方。
    • 下面这些都是表达式
      • a
      • a+b
      • func(1)
      • arr.map()
      • function test(){}
  2. 语句/代码
    • 下面这些都是语句/代码
      • if(){}
      • for(){}
      • switch(){case:xxxx}

代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>jsx小练习</title><!--    引入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>
</head>
<body>
<!--    准备容器-->
<div id="test"></div>
<!--此处一定要写babel-->
<script type="text/babel">// 模拟一些数据const data = ['Angular', 'React', 'Vue'];// const obj = {name1:'Angular', name2:'Angular', name3:'Angular'};// 1、创建虚拟DOMconst virtualDOM = (<div><h2>前端js框架列表</h2><ul>{data.map((item, index)=>{return <li key={index}>{item}</li>})}</ul></div>); /*此处一定不要写引号,因为不是字符串。这是JSX语法*/// 2、渲染虚拟DOMReactDOM.render(virtualDOM, document.getElementById("test"));
</script>
</body>
</html>

相关文章:

React基础教程(三):JSX语法

React基础教程(三)&#xff1a;JSX语法 1、JSX简介 全称&#xff1a;JavaScript XMLreact定义的一种类似于XML的JS扩展语法&#xff1a;JSXML本质是React.createElement(component, props, ...children)方法的语法糖作用&#xff1a;用来简化创建虚拟DOM&#xff08;注意&…...

软件测试岗位都是女孩子在做吗?

听我一朋友说&#xff0c;测试岗位基本都是女孩子做。” 不知道是不是以前“软件测试岗”给人印象是“不需要太多技术含量”的错觉&#xff0c;从而大部分外行认为从业软件测试的人员中女生应占了大多数。比如有人就觉得&#xff1a;软件测试主要是细心活&#xff0c;所以女生…...

ARP协议,带你了解ARP协议

目录 一、ARP协议概述 二、使用ARP的四种情况 三、ARP缓存 四、ARP的工作原理 1. 地址解析 2. 地址缓存 五、ARP报文格式 1. ARP请求报文格式 2. ARP响应报文格式 六、免费ARP 七、代理ARP 一、ARP协议概述 ARP&#xff08;Address Resolution Protocol&#xff09;地…...

基于Java汽车客运站管理系统设计实现(源码+lw+部署文档+讲解等)

博主介绍&#xff1a; ✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ &#x1f345; 文末获取源码联系 &#x1f345; &#x1f447;&#x1f3fb; 精…...

0203使用规则-索引-MySQL

文章目录 1 联合索引1.1 最左前缀法则1.2 范围查询 2 索引失效2.1 常见情况2.2 数据分布影响 3 SQL提示4 覆盖索引和回表查询5 前缀索引6 单列和联合索引7 设计原则结语 1 联合索引 1.1 最左前缀法则 在Mysql数据库中创建了联合索引&#xff08;或称复合索引&#xff0c;即包含…...

LVS+Keepalived群集

一、Keepalived概述 Keepalived 是一个基于VRRP协议来实现的LVS服务高可用方案&#xff0c;可以解决静态路由出现的单点故障问题。 在一个LVS服务集群中通常有主服务器&#xff08;MASTER&#xff09;和备份服务器&#xff08;BACKUP&#xff09;两种角色的服务器&#xff0c…...

抖音矩阵系统源代码开发部署--源码搭建

抖音矩阵系统是一个具有强大功能的开放性平台&#xff0c;通过数据挖掘技术能够实现精准的用户画像和个性化推荐&#xff0c;这也是抖音成为国内最受欢迎的短视频平台之一的原因之一。矩阵系统的开发需要大量的技术支持和数据分析&#xff0c;同时也需要综合运用大数据、机器学…...

如何用Jmeter进行接口测试 ,这应该是全网最详细的教程了

一、Jmeter 的使用步骤 打开Jmeter 安装包&#xff0c;进入\bin 中&#xff0c;找到"jmeter.bat", 点击打开即可。 在下图打开的Jmeter 页面中&#xff0c;右键“测试计划” -> “添加” -> "Threads(Users)" -> “线程组”&#xff0c; 建立线…...

C语言---malloc(0)会产生什么结果,真的是空指针吗?

前言 &#xff08;1&#xff09;几天前在一个交流群中看到有人说&#xff0c;面试问malloc(0)会怎么样是真的恶心。 &#xff08;2&#xff09;这个突然激起了我的好奇心。居然还可以malloc(0)&#xff1f;&#xff01; &#xff08;3&#xff09;经过测试最后&#xff0c;发现…...

建模助手618 | 谁不囤点Revit插件我都会生气!

大家好&#xff0c;这里是建模助手。 早在5月份&#xff0c;我们已经就“618”这个事情高调了一番&#xff0c;以提前放“价”的姿势&#xff0c;让许多用户以躺赢的状态拉开了年中大促的序幕。&#xff08;5月购买的盆友&#xff0c;切记看完全文&#xff0c;内附彩蛋 活动反…...

【“职场程序员是否会保护自己的隐私?为何要求程序员之间保密薪资?”】

职场程序员之间确实有一些秘密&#xff0c;其中之一便是对薪资保密。这并非完全是程序员们的独立行为&#xff0c;而是因为一些公司或组织规定员工之间不能互相透露薪水信息。 第一个原因是保护公司自身利益。如果一个程序员知道其他同事的薪资水平比自己高&#xff0c;他可能…...

企业工程管理系统源码之提高工程项目管理软件的效率

高效的工程项目管理软件不仅能够提高效率还应可以帮你节省成本提升利润 在工程行业中&#xff0c;管理不畅以及不良的项目执行&#xff0c;往往会导致项目延期、成本上升、回款拖后&#xff0c;最终导致项目整体盈利下降。企企管理云业财一体化的项目管理系统&#xff0c;确保…...

创新指南 | 推动销售的17个可落地的集客式营销示例

无论您是开启集客式的营销有一段时间还是处于起步阶段&#xff0c;了解像您这样的企业是如何粉碎竞争对手的的集客式策略总是有帮助的。无论您的公司做什么&#xff0c;它所服务的行业&#xff0c;是B2B还是B2C &#xff0c;您都可以在这里找到许多可以使用的示例。 在本文中&…...

ASEMI代理光宝光耦LTV-0314的应用与优势

编辑-Z 在电子设备的设计和制造过程中&#xff0c;光耦合器是一种至关重要的组件。它们在电路中起到隔离作用&#xff0c;保护电子设备免受电压冲击和电流过载的影响。今天&#xff0c;我们将深入探讨一种特殊的光耦合器——LTV-0314&#xff0c;它的特性、应用以及优势。 一、…...

Apikit 自学日记: Apikit 如何发起测试

进入 API 文档详情页&#xff0c;点击上方 测试 标签&#xff0c;进入 API 测试页&#xff0c;系统会根据API文档自动生成测试界面并且填充测试数据。 填写请求参数 首先填写好请求参数。 请求头部 您可以输入或导入请求头部。批量导入的数据格式为 key : value &#xff0c;…...

python-glob模块_表格及代码样例

glob模块 文章目录 glob模块1. glob.glob(pathname)&#xff1a;根据指定的模式匹配文件路径&#xff0c;并返回匹配的路径列表2. glob.iglob(pathname)&#xff1a;返回一个迭代器&#xff0c;逐个匹配文件路径&#xff0c;适用于大量文件的情况3. glob.escape(pathname)&…...

GitHub Copilot 最全安装、使用

GitHub Copilot 最全安装、使用教程 一、温馨提示 GitHub Copilot 目前为止可以免费试用一个月&#xff0c;但是试用的前提是必须要绑定银行卡&#xff0c;因为后续会自动扣费&#xff0c;所以请注意试用结束日期&#xff0c;自己定好闹钟关闭订阅。 订阅价格为每月10美刀&a…...

C语言 指针(特别篇)

本篇目录 C语言 指针&#xff08;特别篇&#xff09;内存地址简要介绍C语言指针C语言的指针可以指向什么?取地址符 &&#xff08;Address-of Operator&#xff09;C语言中的 * 号运算符示例集&#xff1a;指向变量的指针指向数组的指针指向字符串的指针二级指针指针数组的…...

【计算机视觉 | 目标检测】arxiv 计算机视觉关于目标检测的学术速递(5月26日论文合集)

文章目录 一、检测相关(9篇)1.1 Energy-based Detection of Adverse Weather Effects in LiDAR Data1.2 Anomaly Detection with Conditioned Denoising Diffusion Models1.3 Mask Attack Detection Using Vascular-weighted Motion-robust rPPG Signals1.4 Improved Multi-Sca…...

网络编程与自动化(python)

20.1 网络编程与自动化概述 传统网络运维困境大家在日常的网络运维中是否遇到过如下问题: 设备升级:现网有数千台网络设备,你需要周期性、批量性地对设备进行升级。配置审计:企业年度需要对设备进行配置审计。例如要求所有设备开启sTelnet功能,以太网交换机配置生成树安全…...

如何用Lano Visualizer打造智能音频可视化桌面:从音乐爱好者到专业用户的完整指南

如何用Lano Visualizer打造智能音频可视化桌面&#xff1a;从音乐爱好者到专业用户的完整指南 【免费下载链接】Lano-Visualizer A simple but highly configurable visualizer with rounded bars. 项目地址: https://gitcode.com/gh_mirrors/la/Lano-Visualizer 你是否…...

libvncserver实战:给你的嵌入式Linux设备(如树莓派)添加远程桌面控制功能

libvncserver嵌入式实战&#xff1a;为树莓派等设备构建轻量级远程桌面方案 在工业控制、智能家居和边缘计算场景中&#xff0c;嵌入式设备的远程可视化操作需求日益增长。传统方案如SSH仅能提供命令行交互&#xff0c;而完整的桌面环境又过于臃肿。本文将展示如何利用libvncse…...

从U盘到高端SSD:一文搞懂FTL映射表(块/页/混合)的演进与实战选择

从U盘到高端SSD&#xff1a;一文搞懂FTL映射表&#xff08;块/页/混合&#xff09;的演进与实战选择 存储设备的性能差异往往隐藏在底层算法的设计哲学中。当你在电商平台对比两款SSD时&#xff0c;是否思考过为什么同样标称1TB容量的产品&#xff0c;价格能相差数倍&#xff…...

GitHub下载速度提升10倍:Fast-GitHub终极解决方案

GitHub下载速度提升10倍&#xff1a;Fast-GitHub终极解决方案 【免费下载链接】Fast-GitHub 国内Github下载很慢&#xff0c;用上了这个插件后&#xff0c;下载速度嗖嗖嗖的~&#xff01; 项目地址: https://gitcode.com/gh_mirrors/fa/Fast-GitHub 还在为GitHub的龟速下…...

2026 AI低代码实测:原理拆解+主流形态,避坑指南

2026年&#xff0c;AI低代码早已不是“概念炒作”&#xff0c;而是企业数字化转型的核心工具。Gartner预测&#xff0c;2026年全球70%以上新应用将采用低代码/无代码构建&#xff0c;较2023年45%的渗透率实现跨越式增长&#xff1b;IDC数据显示&#xff0c;同期全球AI低代码市场…...

终极游戏加速指南:如何使用OpenSpeedy免费提升游戏体验

终极游戏加速指南&#xff1a;如何使用OpenSpeedy免费提升游戏体验 【免费下载链接】OpenSpeedy &#x1f3ae; An open-source game speed modifier. 项目地址: https://gitcode.com/gh_mirrors/op/OpenSpeedy 你是否厌倦了游戏中漫长的等待时间&#xff1f;是否想在单…...

从ZEMAX到SOLIDWORKS:手把手教你搞定红外平行光管的跨软件光机设计流程

从ZEMAX到SOLIDWORKS&#xff1a;红外平行光管光机协同设计全流程解析 在光学工程领域&#xff0c;红外平行光管的设计往往需要跨越光学仿真与机械实现两大专业领域。这种"光机协同设计"过程既考验工程师对光学原理的理解&#xff0c;又要求熟练掌握专业软件间的数据…...

The import xxx.xxx.xxx is never used

The import xxx.xxx.xxx is never used List is a raw type. References to generic type List<E> should be parameterized Dead code The value of the local variable d is not used代码洁癖啊&#xff0c;为啥这些这么多黄色警告都不处理呢。 没有用的代码&#xff0…...

接入 Taotoken 后从账单明细中分析各阶段模型使用占比与成本变化

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 接入 Taotoken 后从账单明细中分析各阶段模型使用占比与成本变化 在项目开发中引入大模型能力后&#xff0c;一个常见的困惑是&…...

Vue3生态系统:打造完整的前端开发体系

Vue3生态系统&#xff1a;打造完整的前端开发体系 前言 大家好&#xff0c;我是前端老炮儿。今天咱们来聊聊Vue3的生态系统。 如果说Vue3是一辆超级跑车&#xff0c;那它的生态系统就是配套的加油站、维修站和改装厂。一个好的框架不仅要有强大的核心能力&#xff0c;还要有…...