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

news/2024/7/8 2:24:44 标签: react.js, 前端, 前端框架

目录

一、简介

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 = true


function 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.niftyadmin.cn/n/5536080.html

相关文章

信号量——Linux并发之魂

欢迎来到 破晓的历程的 博客 引言 今天&#xff0c;我们继续学习Linux线程本分&#xff0c;在Linux条件变量中&#xff0c;我们对条件变量的做了详细的说明&#xff0c;今天我们要利用条件变量来引出我们的另一个话题——信号量内容的学习。 1.复习条件变量 在上一期博客中&…

生态共建 | 华宇TAS应用中间件与新华三服务器完成兼容互认证

近日&#xff0c;华宇TAS应用中间件完成与新华三技术有限公司的R4930系列和R4970 G7服务器的兼容适配&#xff0c;认证测试报告显示&#xff0c;双方产品兼容性良好&#xff0c;运行稳定、安全&#xff0c;可以满足用户对双方功能的要求。 新华三技术有限公司 新华三技术有限公…

UE5 07-给物体添加一个拖尾粒子

添加一个(旧版粒子系统)cascade粒子系统组件 ,在模板中选择一个开发学习初始包里的粒子

等保测评——云计算测评项2

安全计算环境-身份鉴别 当远程管理云计算平台中设备时&#xff0c;管理终端和云计算平台之间应建立双向身份验证机制&#xff1b; 远程管理云计算平台中的设备时&#xff0c;双向身份验证机制确保了管理终端和对端服务器的真实性&#xff0c;有效防止了重放攻击和DoS攻击,大大…

WebKit中Websockets的全面支持:实现高效实时通信

WebKit中Websockets的全面支持&#xff1a;实现高效实时通信 Websockets是一种网络通信协议&#xff0c;它允许在单个TCP连接上进行全双工通信&#xff0c;从而实现服务器与客户端之间的实时数据交换。WebKit作为许多流行浏览器的底层引擎&#xff0c;对Websockets提供了全面的…

【串口通信】之TTL电平

1. 什么是串口 串口,全称为串行通信端口,是一种计算机硬件接口,用于实现数据的串行传输。与并行通信不同,串口通信一次只传输一个比特,数据通过串行线按顺序传输。串口通信在嵌入式系统、工业控制、计算机与外围设备通信等领域非常常见 2. 什么是串口通信 串口通信是指通过…

华为云盘古大模型5.0将如何促进工业领域的发展?

6月21日&#xff0c;在华为开发者大会2024&#xff08;HDC2024&#xff09;主题演讲环节中&#xff0c;华为常务董事、华为云CEO张平安重磅发布盘古大模型5.0&#xff0c;这一重要技术成果标志着人工智能在工业领域的应用迈出了新的步伐。当前&#xff0c;工业领域正面临着数字…

jenkins 发布服务到linux服务器

1.环境准备 1.1 需要一台已经部署了jenkins的服务器&#xff0c;上面已经集成好了&#xff0c;jdk、maven、nodejs、git等基础的服务。 1.2 需要安装插件 pusblish over ssh 1.3 准备一台额外的linux服务器&#xff0c;安装好jdk 2.流程描述 2.1 配置jenkins&#xff0c;包括p…