React、JSX简介、渲染列表、基础和复杂的条件渲染

目录

一、简介

1、搭建环境

2、回到项目(VScode)

3、项目核心渲染路径

4、网站资料(启动项目的方法)

二、JSX

三、实现渲染列表

四、实现条件渲染

五、实现复杂条件渲染


一、简介

1、搭建环境

npx creat-react-app react-basic

其中,react-basic为项目名(自定义)

2、回到项目(VScode)

src中只留下App.js和index.js(要求其不报错,还能正常显示页面)

3、项目核心渲染路径

App -> index.js -> public/index.html(root)

4、网站资料(启动项目的方法)

https://zh-hans.react.dev/learn/start-a-new-react-project

二、JSX

JSX是JavaScript和XML(HTML)的缩写,表示JS代码中编写HTML模板结构,是react中编写UI模板的方式。JSX并不是标准的JS语法,它是JS的语法扩展,浏览器本身不能识别,需要通过解析工具做解析之后才能 在浏览器中运行。

解析器网址:

https://babeljs.io/

Babel · Babel

在JSX中可以通过 大括号语法{} 识别 JavaScript中的表达式,比如常见的变量、函数调用、方法调用等等。
1. 使用引号传递字符串
2. 使用JavaScript变量
3. 函数调用和方法调用
4. 使用JavaScript对象
注意:if语句、switch语句、变量声明属于语句,不是表达式,不能出现在{}中

三、实现渲染列表

1、先输入进去,实现3个一样的Vue

2.将Vue换成每一个的名字--->嵌套一个:{item.name}

3.在遍历渲染list时要求每一个都有独一无二的key,固定的,通常会用id来表示

const list = [{ id: 1001, name: 'Vue' },{ id: 1002, name: 'React' },{ id: 1003, name: 'Angular' }]function App() {return (<div className="App">this is App{/*渲染列表*/}<ul>{list.map(item => <li key={item.id}>{item.name}</li>)}</ul></div>)
}export default App;

四、实现条件渲染

1.控制一个元素的显示和隐藏,用逻辑与

2.控制两个元素的话,用三元运算符

const isLogin = truefunction App() {return (<div className="App">this is App{/*逻辑与&&*/}{isLogin && <span>this is span</span>}{/*三元运算*/}{isLogin ? <span>jack</span> : <span>loading</span>}</div>)
}export default App;

3.如果三个、四个五个呢?如下:

五、实现复杂条件渲染

解决方案: 自定义函数 + if判断语句
//定义文章类型
const articleTyple = 3  // 0 1 3 //定义核心函数(根据文章类型返回不同的JSX模板)function getArticleTem() {if (articleTyple === 0) {return <div>我是无图文章</div>}if (articleTyple === 1) {return <div>我是单图模式</div>}if (articleTyple === 3) {return <div>我是三图模式</div>}
}function App() {return (<div className="App">{/* 调用函数渲染不同的模板 */}{getArticleTem()}</div>)
}export default App;

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

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

相关文章

YUV 颜色编码详解

YUV 简介 YUV是被欧洲电视系统所采用的一种颜色编码方法&#xff08;属于PAL&#xff09;&#xff0c;是PAL和SECAM模拟彩色电视制式采用的颜色空间。在现代彩色电视系统中&#xff0c;通常采用三管彩色摄影机或彩色CCD摄影机进行取像&#xff0c;然后把取得的彩色图像信号经分…

CC6利用链分析

CC1的两条利用链&#xff0c;在JDK 8u71之后已修复&#xff0c;不可利用。 学一下不受版本限制的CC6利用链 分析版本 Commons Collections 3.2.1 JDK 8u65 环境配置参考JAVA安全初探(三):CC1链全分析 分析过程 我的Github主页Java反序列化学习同步更新&#xff0c;有简单…

java.lang.IllegalArgumentException: pointerIndex out of range

问题分析 这是ViewPager自身对于多点触控处理的bug&#xff0c;该bug可以追溯到Android4.4。该问题会导致应用崩溃。根本原因在于没有调用 super.onInterceptTouchEvent(); 造成 mActivePointerIdactivePointerIndex的值不能正确获取。导致父类 onTouchEvent取值错误&#xff…

【WEB前端】---HTML---结构---笔记

目录 1.标签---单标签和双标签 1.1单标签 1.2双标签 2.基本结构标签 2.1HTML标签 2.2文档头部标签 2.3文档标题标签 2.4文档的主题标签 3.常用的标题标签 (n∈[1,6]) 4.段落标签 5.换行标签 6.文本格式化标签 6.1粗体 6.2倾斜 6.3删除线 6.4下划线 7.div和spa…

服务器工具集合推荐

推荐一个朋友开源的服务器运维整合工具,目前的功能包括: ddns&#xff0c;rdp、ssh终端、ftp、http代理&#xff0c;支持在线文件编辑&#xff0c;文件管理&#xff0c;docker&#xff0c;进程&#xff0c;系统监控、wol唤醒&#xff0c;电脑远程开机&#xff0c;点对点&#…

[Qt] Qt for android, gradle-8.3-bin.zip (No such file or directory)

前言&#xff1a; android 工程需要 gradle 作为打包工具&#xff0c;Qt for android 如果想要打包 apk 同样需要使用 gradle&#xff0c;但是 包括 Android studio 在内的诸多 Android IDE 工具都没有自带的 gradle 工具&#xff0c;可能是因为 gradle 的版本迭代较快&#x…

深度分析和对比本地大语言模型Ollama和LocalAI

前言 在充满活力的人工智能&#xff08;AI&#xff09;世界中&#xff0c;开源工具已成为开发人员和组织利用LLM&#xff08;大型语言模型&#xff09;力量的重要资源。这些工具通过提供对高级LLM模型的访问权限&#xff0c;使各种用户能够构建创新和前沿的解决方案。在众多可…

AI工具大盘点!打工人必备的几款效率神器!

前言 在这个AI技术大放异彩的时代&#xff0c;找到合适的工具&#xff0c;可以让我们的工作效率翻倍。作为一名AI工具测评博主&#xff0c;我今天要向大家推荐几款我亲自体验并认为非常实用的AI工具。它们不仅能够提升你的工作效率&#xff0c;还能让你在职场上更加得心应手。…

为本地化准备营销材料的几个步骤

为本地化准备营销材料涉及几个关键步骤&#xff0c;以确保内容在文化上合适、语言上准确&#xff0c;并与目标受众相关。以下是五个基本步骤&#xff1a; 进行市场调查 了解目标市场至关重要。进行深入研究&#xff0c;以收集有关目标地区受众的文化细微差别、消费者行为、地…

Python异步IO之协程

参考自仓库https://github.com/SparksFly8/Learning_Python/tree/master/coroutine 协程&#xff08;coroutine&#xff09;在多任务协作中体现的效率又极为的突出。Python中执行多任务还可以通过多进程或一个进程中的多线程来执行&#xff0c;但两者之中均存在一些缺点&#…

【机器学习】机器学习与图像识别的融合应用与性能优化新探索

文章目录 引言第一章&#xff1a;机器学习在图像识别中的应用1.1 数据预处理1.1.1 数据清洗1.1.2 数据归一化1.1.3 数据增强 1.2 模型选择1.2.1 卷积神经网络1.2.2 迁移学习1.2.3 混合模型 1.3 模型训练1.3.1 梯度下降1.3.2 随机梯度下降1.3.3 Adam优化器 1.4 模型评估与性能优…

【软件测试】Python自动化测试框架:unittest测试用例编写及执行

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 本文将介绍 unittest 自动化测试用例编写及执行的相关内容&#xff0c;包括测试用例编写、测试用…

Element中的表格组件Table和分页组件Pagination

简述&#xff1a;在 Element UI 中&#xff0c;Table组件是一个功能强大的数据展示工具&#xff0c;用于呈现结构化的数据列表。它提供了丰富的特性&#xff0c;使得数据展示不仅美观而且高效。而Pagination组件是一个用于实现数据分页显示的强大工具。它允许用户在大量数据中导…

科普文:linux服务器性能调优之内核参数

https://zhouxx.blog.csdn.net/article/details/140168148 在写上面这篇“科普文&#xff1a;Linux服务器性能调优概叙”文章时&#xff0c;由于篇幅原因&#xff0c;将部分内核参数独立出来。 内核参数文件位置&#xff1a;/etc/sysctrl.conf 内核修改和生效命令&#xff1a;s…

【项目日记(四)】搜索引擎-Web模块

❣博主主页: 33的博客❣ ▶️文章专栏分类:项目日记◀️ &#x1f69a;我的代码仓库: 33的代码仓库&#x1f69a; &#x1faf5;&#x1faf5;&#x1faf5;关注我带你了解更多项目内容 目录 1.前言2.前端模块2.1页面设计2.2后端交互 3.部署到云服务器4.总结 1.前言 在前面的文…

【Symfony异步任务处理】掌握队列系统的高效之道

标题&#xff1a;【Symfony异步任务处理】掌握队列系统的高效之道 在现代Web应用开发中&#xff0c;处理耗时的任务&#xff08;如发送邮件、处理文件上传等&#xff09;时&#xff0c;队列系统是一种非常有效的方式。Symfony作为一个功能丰富的PHP框架&#xff0c;提供了强大…

c语言--字符串处理之分割strtok

strtok() char *strtok(char s[], const char *delim); 参数&#xff1a; s[]是原字符串&#xff0c;delim为分隔符 返回&#xff1a;字符串拆分后的首地址 第一次拆分&#xff0c;参1 传待拆分的原串。 第1 次拆分时&#xff0c;参1传 NULL. strtok案例解析&#xff1a; #i…

什么是浪涌电压_浪涌电压的种类及保护器件的选型

一、浪涌电压的定义 浪涌电压&#xff0c;也称为浪涌电流&#xff0c;是指电路在遭雷击或在接通、断开电感负载或大型负载时产生的瞬时过电压或过电流。这种瞬变干扰通常发生在极短的时间内&#xff0c;如几百万分之一秒&#xff0c;但峰值电压可能极高&#xff0c;可能达到数…

nginx.conf配置参数解析

nginx配置文件解析 /usr/local/nginx/conf vim /etc/security/limits.conf #配置生效只能重新启动* soft nproc 65535 #能打开的进程最大数是软限制655335,65535是最大值 * hard nproc 65535 * soft nofile 65535 # 进程打开文件数的最大值65535 * hard nof…

ExtendSim在商业和服务行业中的仿真

仿真使企业能够做出明智的、数据驱动的预测&#xff0c;从而指导决策、产生积极成果并建立竞争优势。 精益分析 使用 ExtendSim 中的精益分析方法对欧洲的供应链网络进行建模&#xff0c;一家制造商实现了对最终客户的服务水平提高了 98%&#xff0c;而且现在可以在库存减少约 …