【react】JSX基本语法

news2024/11/27 12:51:09
1、全称

JavaScript XML

2、定义

是react定义的一种类似于XML的JS扩展语法: JS + XML本质是React.createElement(component, props, …children)方法的语法糖

3、作用:

用来简化创建虚拟DOM

4、标签名任意

HTML标签或其它标签

5、标签属性任意

HTML标签属性或其它

6、基本语法规则

1、定义虚拟DOM时,不要用引号

错误:

const VDOM = "<h1><span>Hello,React</span><span>Hello,React</span>"

在这里插入图片描述

正确:

const VDOM = (
  <h1>
    <span>Hello,React</span>
  </h1>
)

2、标签中混入JS表达式时要用{ }

错误:

const myId = 'title'
const myData = 'hello,react'
const VDOM = (
  <h2 id="myId">
    <span>myData</span>  
  </h2>
)

在这里插入图片描述

正确:

const VDOM = (
  <h2 id={myId}>
    <span>{myData}</span>  
  </h2>
)

在这里插入图片描述
3、样式的类名指定不能用class,要用className

错误:

const VDOM = (
  <h2 class="title" id={myId}>
    <span>{myData}</span>  
  </h2>
)

在这里插入图片描述

正确:

const VDOM = (
  <h2 className="title" id={myId}>
    <span>{myData}</span>  
  </h2>
)

4、内联样式要用style={{key:value}}的形式去写

错误:

const VDOM = (
  <h2 className="title" id={myId}>
    <span style="color:white">{myData}</span>  
  </h2>
)

在这里插入图片描述

正确:

const VDOM = (
  <h2 className="title" id={myId}>
    <span style={{color:'white',fontSize:'29px'}}>{myData}</span>  
  </h2>
)

5、只有一个根标签

错误:

const VDOM = (
  <h2 className="title" id={myId}>
    <span style={{color:'white',fontSize:'29px'}}>{myData}</span>  
  </h2>
  <h2></h2>
)

在这里插入图片描述

正确:

const VDOM = (
  <div>
    <h2 className="title" id={myId}>
      <span style={{ color: 'white', fontSize: '29px' }}>{myData}</span>
    </h2>
    <h2></h2>
  </div>
)

6、标签必须闭合

错误:

const VDOM = (
   <h2 className="title" id={myId}>
     <span style={{ color: 'white', fontSize: '29px' }}>{myData}</span>
     <input type="text">
   </h2>
)

在这里插入图片描述

正确:

const VDOM = (
   <h2 className="title" id={myId}>
     <span style={{ color: 'white', fontSize: '29px' }}>{myData}</span>
     <input type="text"/>
   </h2>
)

7、标签首字母
(1)若小写字母开头,则将该标签转为html中同名元素,如html中无该标签对应的同名元素,则报错

错误:

const VDOM = (
  <h2 className="title" id={myId}>
    <span style={{ color: 'white', fontSize: '29px' }}>{myData}</span>
    <good>good</good>
  </h2>
)

在这里插入图片描述(2)若大写字母开头,react就去渲染对应的组件,若组件没有定义,则报错

错误:

const VDOM = (
  <h2 className="title" id={myId}>
    <span style={{ color: 'white', fontSize: '29px' }}>{myData}</span>
    <Good>good</Good>
  </h2>
)

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/85877.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python 缩进语法的起源:上世纪 60-70 年代的大胆创意!

上个月&#xff0c;Python 之父 Guido van Rossum 在推特上转发了一篇文章《The Origins of Python》&#xff0c;引起了我的强烈兴趣。 众所周知&#xff0c;Guido 在 1989 年圣诞节期间开始创造 Python&#xff0c;当时他就职于荷兰数学和计算机科学研究学会&#xff08;简称…

SAP ABAP CDS view 里 INNER JOIN 和 Association 的区别

最近有朋友在我的知识星球里向我提问&#xff0c;SAP ABAP CDS view 的 INNER JOIN 和 Association 的功能可以理解为一样吗&#xff1f; (关于加入我的知识星球的方式&#xff0c;请移步本文文末) 本文就来聊一聊这个话题。既然 CDS view 里同时支持了 INNER JOIN 和 Assoc…

小伙伴因 unshift 插入数据被批,未曾想到找我诉苦竟梅开二度

背景 事情是这样的&#xff0c;今天小伙伴跟我诉苦&#xff0c;说写的代码被批了&#xff0c;原因是效率太低了&#xff0c;简单问了一下需求&#xff0c;就是将几千条数据倒序插入到数组中&#xff0c;他是通过循环搭配 unshift 实现的&#xff0c;听完我也批了他一顿。 小伙…

ImageNet

标题有点不太对是的 就能用了 这次是说 用有噪声的学生网络进行自我训练提高ImageNet分类 近年来&#xff0c;深度学习在图像识别方面取得了显著的成功。然而&#xff0c;最先进的视觉模型仍然是用监督学习来训练的&#xff0c;这就需要大量的标记图像才能很好地工作。 通过只…

监控易火星版纳管IPv6:IP地址管理V2.0的进化之路

IPv6的使用&#xff0c;不仅能解决网络地址资源数量的问题&#xff0c;而且也解决了多种接入设备连入互联网的障碍。大量IP地址的接入&#xff0c;导致运维人员不得不投入大量精力来解决IP管理分散、非法接入、IP地址错误、IP地址冲突等导致的问题。随之而来的&#xff0c;IP地…

java计算机毕业设计基于安卓Android的校园助手APP

项目介绍 网络的广泛应用给生活带来了十分的便利。所以把校园助手与现在网络相结合,利用java技术建设校园助手APP,实现校园助手的信息化。则对于进一步提高校园助手发展,丰富校园助手经验能起到不少的促进作用。 校园助手APP能够通过互联网得到广泛的、全面的宣传,让尽可能多的…

Metal每日分享,图像单色滤镜效果

本案例的目的是理解如何用Metal实现图像单色效果滤镜&#xff0c;将图像转换为单色版本&#xff0c;根据每个像素的亮度进行着色&#xff1b; Demo HarbethDemo地址 实操代码 // 去雾效果滤镜 let filter C7Monochrome.init(intensity: 0.83, color: .blue)// 方案1: Image…

Zookeeper[1]-Zookeeper介绍与安装以及集群环境准备

Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机&#xff0c;Java 仍是企业和开发人员的首选开发平台 课程内容的介绍 Zookeeper的介绍和安装 Zookeeper客户端使用…

基于Paddle2.4.0训练报错Debug

基于Paddle2.4.0训练报错Debug一、环境简介二、Debug过程错误一Debug错误二Debug错误三Debug更换PaddlePaddle版本三、总结参考文档一、环境简介 本文背景为使用AutoDL网站的租借显卡进行网络训练&#xff0c;训练环境如下&#xff1a; 操作系统&#xff1a;Ubuntu18.04&#…

Springboot内置的工具类之StringUtils

在实际的业务开发中&#xff0c;除了经常有针对对象的判断或操作以外&#xff0c;经常也会遇到的就是字符串的判断和操作。比如判断字符串是否为空、是否以某个字符结尾、去除头部和尾部的空白字符、字符的查找和替换。在Spring的核心包中存在这样一个类org.springframework.ut…

如何保证项目如期上线,测试工程师应该怎么做?

要保证项目按照正常进度发布&#xff0c;需要整个研发团队齐心协力。 有很多原因都可能会造成项目延期。1、产品经理频繁修改需求2、开发团队存在技术难题3、测试团队测不完今天我想跟大家聊一下&#xff0c;测试团队如何保证项目按期上线&#xff0c;以及在这个过程中可能遇到…

[附源码]Python计算机毕业设计SSM基于Web课堂签到管理系统(程序+LW)

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

学生HTML网页作业:基于HTML+CSS+JavaScript画家企业8页

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

jvm垃圾处理

1.什么是垃圾 垃圾&#xff1a;没有引用指向的一个对象或者多个对象循环引用但是没有引用指向申请内存方式 c语言&#xff1a;malloc free c:new delete java:new 对象 2、垃圾是如何产生的 垃圾一般在发生引用传递时产生。一块堆内存可以被不同的栈内存所引用&#xff0c;…

DBCO-PEG-SPDP,SPDP-PEG-DBCO,DBCO-聚乙二醇-3-(2-吡啶二硫代)丙酸N-羟基琥珀酰亚胺

一、试剂基团反应特点&#xff08;Reagent group reaction characteristics&#xff09;&#xff1a; DBCO-PEG-SPDP中无铜点击反应一直是无催化剂生物共轭的有力工具。 DBCO试剂在水性缓冲液中具有稳定性&#xff0c;可用于以高特异性和反应性标记叠氮化物修饰的生物分子&…

【知识图谱】(task3)知识图谱的存储和查询

note 用图数据库的场景&#xff1a; 高性能关系查询&#xff1a;需要快速遍历许多复杂关系的任何用例&#xff0c;如欺诈检测&#xff0c;社交网络分析&#xff0c;网络和数据库基础设施等&#xff1b;模型的灵活性&#xff1a;任何依赖于添加新数据而不会中断现有查询池的用例…

Linux Kernel 6.0 CXL Core Regs.c 详解

前言 CXL 是一个比较新的技术&#xff0c;所以我研究的内核源码是选了当前比较新的内核版本 linux 6.0。打算将内核关于 CXL 的驱动进行解析一遍&#xff0c;一步一步慢慢来。 在阅读之前&#xff0c;希望读者能有一定的 PCIe 基础知识&#xff0c;精力有限&#xff0c;不能把…

C++ 不知算法系列之聊聊希尔、归并排序算法中的分治哲学

1. 前言 排序算法中&#xff0c;冒泡、插入、选择属于相类似的排序算法&#xff0c;这类算法的共同点&#xff1a;通过不停地比较&#xff0c;再使用交换逻辑重新确定数据的位置。 希尔、归并、快速排序算法也可归为同一类&#xff0c;它们的共同点都是建立在分治思想之上。把…

Linux基本工具——gcc/g++与make/Makefile

Linux编译器&#xff0c;项目构成工具gcc/g程序翻译过程选项的含义动态链接静态链接如何识别静态链接和动态链接Linux项目自动化构建工具——make/Makefilemake/Makefile是什么make/Makefile的使用伪目标make/makefile推导过程gcc/g 程序翻译过程 预处理&#xff08;去掉注释…

当了10年程序员,我开窍了

有人说&#xff0c;程序员的高收入和工作年限成正比&#xff0c;认为自己的薪资应该如此计算&#xff1a; private static boolean 计算工资() { //years工作时长(年) int years 5; while(years-- > 0){ 做项目(); 团建活动(); 涨工资(); 拿年终奖(); } return 跳槽() &…