【React】JSX基础知识

server/2024/10/16 0:24:46/

1. JSX的本质

  1. JSX并不是标准的js语法,而是js语法扩展,浏览器本身无法识别,需要进行解析。解析工具:babel
    在这里插入图片描述

2. JSX使用的4个高频场景

  1. 使用引号传递字符串
  2. 使用js变量
  3. 函数调用和方法调用
  4. 使用js对象
function App() {const jsVar = 1314function Func() {return '这是一个函数'}return (<div className="App">this is App<br/>{'使用引号传递字符串'}<br/>{jsVar}<br/>{Func()}<br/>{new Date().getTime()}<br/><div style={{color: 'pink'}}>我变粉色啦</div></div>);
}export default App;

在这里插入图片描述

3. JSX实现列表渲染

**语法:**使用原生js中的map方法遍历渲染列表

javascript">function App() {const list = [{ id: '001', content: '刘能' },{ id: '002', content: '赵四' },{ id: '003', content: '谢广坤' },]return (<div className="App">乡村爱情中最搞笑的3个男人:<ul>{list.map((item) => {// 注意:需要加上一个唯一的keyreturn <li key={item.id}>{item.content}</li>})}</ul></div>);
}export default App;

在这里插入图片描述

4. JSX的条件渲染

4.1 简单的

语法:可以使用逻辑与运算符&&、三元表达式?:实现

javascript">function App() {const isLoading = trueconst isLogin = falsereturn (<div className="App">{isLoading && <div>加载中</div>}{isLogin ? <span>已登录</span> : <span>未登录</span> }</div>);
}export default App;

在这里插入图片描述

4.2 复杂的

需求:根据文章状态(单图,三图和无图)适配3种情况
解决:自定义函数 + if语句

javascript">function App() {const articleType = 0function getArticleTem() {if (articleType === 0) {return <div>无图模式</div>} else if (articleType === 1) {return <div>单图模式</div>} else {<div>多图模式</div>}}return (<div className="App">{getArticleTem()}</div>);
}export default App;

在这里插入图片描述

参考

黑马程序员react教程


http://www.ppmy.cn/server/123201.html

相关文章

opencv学习:通过图像透视进行发票识别完整代码流程

概念&#xff1a; 使用OpenCV库实现图像的透视变换处理&#xff0c;以矫正图像中的透视失真。通过本实验&#xff0c;学习者将掌握图像处理的基本操作&#xff0c;包括图像的读取、显示、大小调整、灰度转换、二值化、轮廓检测、轮廓近似以及透视变换。 步骤&#xff1a; 1. …

pycharm2024版 搭配Anaconda创建pytorch项目

pycharm2024版 搭配Anaconda创建pytorch项目 ​ 刚接触anaconda和pytorch&#xff0c;b站看的教学视频中博主使用的是2019版的pycharm&#xff0c;所以在创建pytorch项目时有些懵&#xff0c;在多次摸索后大概明白了一些 上图中是2024版pycharm的新项目创建界面 Project venv…

众数问题,

在本实验中&#xff0c;需要编写一个程序来处理一组输入数据&#xff0c;找出其中的众数&#xff0c;即出现次数最多的数字。程序会读取文件中的数据进行处理&#xff0c;并将结果与标准答案进行比对&#xff0c;判断程序输出是否正确。 #include <bits/stdc.h> #define …

集成Elasticsearch到django restful

文章目录 集成ES到django restful服务端项目安装haystack基本使用安装配置索引模型ORM模型中新增discount_json字段方法全文索引字段模板 索引序列化器全文搜索的索引视图路由手动构建es索引 集成ES到django restful服务端项目 如果直接在Django项目直接编写代码作为ElasticSe…

宝塔部署vue项目出现的各种问题

使用宝塔面板&#xff0c;网站页面&#xff0c;构建php静态网页 问题一&#xff1a;图片等静态资源无法加载 找到真正请求的url&#xff0c; 然后在项目目录下面创建对应的目录&#xff0c;将资源放入 问题二&#xff1a;刷新出现404 在这里任意位置添加 ## 添加上这个配…

STMCubeMx——C8T6的串口调试、接收与发送

一、stmCubeMX串口通信的步骤 1、新建一个文件&#xff0c;选择自己的芯片 2、配置时钟 3、配置串口 串口的模式解析可以跳转到以下文章查看 stmCubemx——配置串口时的几种模式-CSDN博客在STM32CubeMX中配置串口&#xff08;USART或UART&#xff09;时&#xff0c;可以设置…

【机器学习】——决策树以及随机森林

文章目录 1. 决策树的基本概念与结构1.1 决策树的构建过程 2. 决策树的划分标准2.1 信息增益&#xff08;Information Gain&#xff09;2.2 信息增益比&#xff08;Information Gain Ratio&#xff09;2.3 基尼指数&#xff08;Gini Index&#xff09;2.4 均方误差&#xff08;…

mac-m1安装nvm,docker,miniconda

1.安装minicondaMAC OS(M1)安装配置miniconda_mac-mini m1 conda-CSDN博客 2.安装nvm&#xff08;用第二个方法&#xff09;Mac电脑安装nvm(node包版本管理工具)-CSDN博客 3.安装docker dmg下载链接docker-toolbox-mac-docker-for-mac安装包下载_开源镜像站-阿里云 教程MacOS系…