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

React18入门(第一篇)——JSX、TSX语法详解

文章目录

    • 一、JSX 语法简介
    • 二、和 HTML 标签的几点不同
    • 三、JSX 属性
    • 四、JSX 事件
        • 4.1 简单点击事件
        • 4.2 类型限制
        • 4.3 带参数,箭头函数
    • 五、插入 JS 变量
    • 六、JSX 中使用条件判断
    • 七、循环


一、JSX 语法简介

  1. JSX - 是 JS 的扩展,写在 JS 代码里面,组件的 UI 结构
  2. 语法和 HTML 相似,有 HTML 相关基础,学起来很容易
  3. JSX 已成 ES 规范(不是React独有),可用于其他的框架,如 Vue3

注:需要用 Js 语法写的时候,文件后缀名就是 .jsx ;需要用 Ts 语法写的时候,文件后缀名就是 .tsx

示例代码:

// App.tsx 代码
import React from 'react'
import logo from './logo.svg'
import './App.css'function App() {return (<div className="App"><header className="App-header"><img src={logo} className="App-logo" alt="logo" /><p>Edit <code>src/App.tsx</code> and save to reload.</p><aclassName="App-link"href="https://reactjs.org"target="_blank"rel="noopener noreferrer">Learn React</a></header></div>)
}
export default App

二、和 HTML 标签的几点不同

  1. 首字母大小写的区别,首字母大写是自定义组件
  2. 标签必须闭合,如 在 HTML 中合法,但在 JSX 中是非法的
  3. 每段 JSX 代码片段都必须要有一个根节点,根节点可以是空标签 <> </>。如下图所示:

在这里插入图片描述


三、JSX 属性

  1. class 要改成 className
  2. style 要使用 JS 对象(不能是 string )而且 key 用驼峰写法
  3. for 要改为 htmlFor

在这里插入图片描述


四、JSX 事件

事件就是那些什么 点击事件、监听事件等

  • 使用 onXxx 的格式
  • 必须传入一个函数(是 fn 而非 fn() )
  • 注意 TypeScript 类型(初学着不着急深究,会用,不报错即可 )
4.1 简单点击事件

在这里插入图片描述

4.2 类型限制

在这里插入图片描述

4.3 带参数,箭头函数

在这里插入图片描述


五、插入 JS 变量

  • 使用 { XXX } 可以插入 JS 变量、函数、表达式
  • 可插入普通文本、属性
  • 可用于注释

在这里插入图片描述


六、JSX 中使用条件判断

  • 使用 &&
  • 使用 三元表达式
  • 使用 函数

在这里插入图片描述


七、循环

  • 使用数组 map
  • 每个 item 元素需要 key 属性
  • key 在同级别唯一

在这里插入图片描述

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

相关文章:

  • 【计算机基础知识】字符的编码表示
  • 【面试题精讲】Java字符型常量和字符串常量的区别?
  • 【Vue面试题六】为什么Vue中的 v-if 和 v-for 不建议一起用?
  • leetCode 674. 最长连续递增序列 动态规划 / 贪心策略
  • 数据中台实战(11)-数据中台的数据安全解决方案
  • 林沛满-TCP之在途字节数
  • HTTPS 加密工作过程
  • 校招秋招,性格和职业有关系吗?
  • 网络和系统操作命令
  • 刷穿力扣(1~30)
  • 栈和队列的基本操作
  • 变压器绕组断股往往导致直流电阻不平衡率超标
  • stack和queque
  • 信息学 学习/复习 抽签器(附源码)
  • 基于LADRC自抗扰控制的VSG三相逆变器预同步并网控制策略(Simulink仿真实现)
  • [0xGame 2023] week1
  • Matlab矩阵——矩阵行列互换
  • OpenMesh 网格面片随机赋色
  • SpringSecurity源码学习一:过滤器执行原理
  • 8.2 JUC - 4.Semaphore
  • 前端try和catch
  • Unity可视化Shader工具ASE介绍——2、ASE的Shader创建和输入输出
  • 目标检测算法改进系列之Backbone替换为Swin Transformer
  • 【技术干货】如何通过 DP 实现支持经典蓝牙的联网单品设备与 App 配对
  • 【Unity Build-In管线的SurfaceShader剖析_PBS光照函数】
  • thinkphp5实现ajax图片上传,压缩保存到服务器
  • 王道考研计算机网络——传输层
  • 08 集群参数配置(下)
  • mac文件为什么不能拖进U盘?
  • RK3568的CAN驱动适配