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

react Jsx基础概念和本质

什么是jsx

jsx是JavaScript和XML(HTML)的缩写,表示在js代码中编写HTML模板结构,它是react中编写UI模板的方式

const message = 'this is message'
function App(){return (<div><h1>this is title</h1>{message}</div>)
}

jsx优势

  1. HTML的声明式模板写法

  2. js的可编程能力

jsx的本质

jsx并不是标准的js语法,它是js的语法扩展,浏览器本身不能识别,需要通过解析工具做解析之后才能在浏览器运行

jsx中使用js表达式

在jsx中可以通过大括号语法{ }识别javascript中的表达式,比如常见的变量,函数调用,方法调用等

  1. 使用引号传递字符串

  2. 使用javascript变量

  3. 函数调用和方法调用

  4. 使用javascript对象

const name = '张三'
function age(){return 18
}
function App() {return (<div className="App">111{/* 1. 使用引号传递字符串 */}{'传递字符串'}{/* 2. 使用javascript变量 */}{name}{/* 3. 函数调用和方法调用 */}{/* 函数调用 */}{age()}{/* 方法调用 */}{new Date().toLocaleString()}{/* 4. 使用javascript对象 一般用于设置style */}<div style={{color:'red'}}>使用javascript对象</div></div>);
}export default App;

jsx实现列表渲染

需要使用原生js的map方法实现

jsx实现条件渲染

jsx实现复杂条件渲染

解决方案:自定义函数+if判断语句

http://www.lryc.cn/news/403760.html

相关文章:

  • 【深大计算机系统(2)】实验一 实验环境配置与使用 附常用指令
  • 目标检测经典模型之YOLOV5-detect.py源码解析(持续更新)
  • PF4J+SpringBoot
  • 设计模式11-原型模式
  • Tomcat长连接源码解析
  • C++编程:实现一个跨平台安全的定时器Timer模块
  • PyTorch的自动微分模块【含梯度基本数学原理详解】
  • AI 绘画|Midjourney设计Logo提示词
  • LeNet实验 四分类 与 四分类变为多个二分类
  • 【BUG】已解决:java.lang.reflect.InvocationTargetException
  • 配置kali 的apt命令在线安装包的源为国内源
  • JAVA 异步编程(线程安全)二
  • Golang | Leetcode Golang题解之第260题只出现一次的数字III
  • IDEA自带的Maven 3.9.x无法刷新http nexus私服
  • 56、本地数据库迁移到阿里云
  • 新时代多目标优化【数学建模】领域的极致探索——数学规划模型
  • 单例模式详解
  • WebGIS主流的客户端框架比较|OpenLayers|Leaflet|Cesium
  • 【LabVIEW作业篇 - 2】:分数判断、按钮控制while循环暂停、单击按钮获取book文本
  • Kafka架构详解之分区Partition
  • SSM之Mybatis
  • Python list comprehension (列表推导式 - 列表解析式 - 列表生成式)
  • 2024年7月12日理发记录
  • 几种常用排序算法
  • Spring3(代理模式 Spring1案例补充 Aop 面试题)
  • Github报错:Kex_exchange_identification: Connection closed by remote host
  • LabVIEW在CRIO中串口通讯数据异常问题
  • ALTERA芯片解密FPGA、CPLD、PLD芯片解密解密
  • [RK3588-Android12] 关于如何取消usb-typec的pd充电功能
  • 分布式 I/O 系统 BL200 Modbus TCP 耦合器