React的JSX语法学习和常见的插值{}内容情况
创始人
2025-01-08 17:05:26
0

React JSX语法的博客文章。以下是一篇简短的文章,详细讲解React JSX语法,包括代码示例和注释:


这里写目录标题

  • 1.React JSX概念
      • 原生js修改div的内容
      • jsx方式
  • 2. **React JSX使用**
    • 2.1 渲染元素--直接写标签就可以了
    • 2.2{}可以写的数据---表达式
      • 1. **字面常量**:
      • 2. **变量**:
      • 3. **函数-有返回值**:
      • 4. **方法--能获的值**:
      • 5. **对象 --属性能获得值**:
      • 6. **条件语句--三目运算--需要有返回值(因为表达式就是一个值)**
      • 7. **循环语句-数组遍历----有返回值**

1.React JSX概念

因为原生的javascript操作dom很是繁琐,几乎都需要先获取原始dom,在修改数据,在同步给innertext或是节点插入,删除等,如果节点少的话还好,但是如果需要多很多的话,那么节点就太多了不太方便
所以后面出来一个Jquery的JS第三方库,让我们不用为了获取一个标签写那么长的代码.
但是依然不满足现状,后来出现了Angular,react,vue等框架,把原生的js操作DOM更加简化了
JSX就是react的一种便于DOM操作的拓展语法
JSX===javascript+XML
说白了就是 在javascript的代码中插入了HTML标签

原生js修改div的内容

原始内容

jsx方式

const msg="你好"//直接把  你好变为  "加油 不放弃";  //不用dom获取 这些都是框架做好的  能自动编译 const App = () => {   return (     

{msg}

); }

2. React JSX使用

jsx常常需要结合react的项目使用
在React中,JSX(JavaScript XML)是一种允许在JavaScript代码中编写类似HTML的语法的扩展。JSX使得在React组件中编写UI变得更加直观和易读。让我们来深入了解React JSX语法。

2.1 渲染元素–直接写标签就可以了

首先,让我们创建一个简单的React函数组件,并使用JSX语法来渲染UI元素:

import React from 'react';  const App = () => {   return (     

Hello, React JSX!

This is a simple JSX example.

); } export default App;

在上面的代码中,我们定义了一个名为App的函数组件,使用JSX语法来返回一个包含

等HTML元素的UI结构。

2.2{}可以写的数据—表达式

表达式是什么?--------------->表达式就是一个值
常见的表达式情况

1. 字面常量

在JSX中,我们可以直接在大括号中使用字面常量,比如字符串、数字、布尔值等。例如:

const greeting = 

Hello, {`World`}!

;

在这个例子中,我们在大括号中使用了字面常量字符串World

2. 变量

我们可以在JSX中使用变量,将其值动态地插入到UI中。例如:

const name = 'Alice'; const greeting = 

Hello, {name}!

;

这里,我们将变量name的值动态地插入到

元素中。

3. 函数-有返回值

在JSX中,我们可以调用函数并将其返回的值嵌入到UI中。例如:

function formatName(user) {   return user.firstName + ' ' + user.lastName; }  const user = {   firstName: 'John',   lastName: 'Doe' };  const greeting = 

Hello, {formatName(user)}!

;

在这个例子中,我们调用了formatName函数,并将其返回的值动态地插入到

元素中。

4. 方法–能获的值

如果我们有一个对象,并且该对象具有方法,我们也可以在JSX中调用该方法。例如:

const user = {   firstName: 'John',   lastName: 'Doe',   getFullName: function() {     return this.firstName + ' ' + this.lastName;   } };  const greeting = 

Hello, {user.getFullName()}!

;

在这个例子中,我们调用了user对象的getFullName方法,并将其返回的值动态地插入到

元素中。

5. 对象 --属性能获得值

我们还可以在JSX中直接使用对象,并访问对象的属性。例如:

const user = {   name: 'Alice',   age: 25 };  const userInfo = 

Name: {user.name}, Age: {user.age}

;

在这个例子中,我们直接在JSX中访问了user对象的nameage属性。
js const styleObj={color:red} const greeting =

Hello!

;
在这个例子中,我们直接在JSX中赋值style样式

6. 条件语句–三目运算–需要有返回值(因为表达式就是一个值)

const isLoggedIn = true;  return (   
{isLoggedIn ?

Welcome, User!

:

Please log in.

}
);

使用三元运算符来实现if’的效果

7. 循环语句-数组遍历----有返回值

const List=[     {id:1,value:"北京"},     {id:2,value:"上海"},     {id:3,value:"新疆"},     {id:4,value:"青海"} ] 
    { List.map(ele=>{ return (
  • ele.id}>{ele.value}
  • ) }) }

在上面的代码中,根据变量List的map返回的值来动态显示多个li。


相关内容

热门资讯

透视挂!超圣大厅可控是什么意思... 透视挂!超圣大厅可控是什么意思,pokemmo辅助脚本(科技教程开挂辅助安装);亲,超圣大厅可控是什...
实测交流!winner辅助软件... 实测交流!winner辅助软件,兴动互娱辅助器多少钱,了解开挂辅助软件(讲解有挂);打开点击测试直接...
今日百科!衢州都莱罗松怎么老是... 您好:衢州都莱罗松怎么老是输这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用...
透明神器!陕西微乐挖坑小程序脚... 透明神器!陕西微乐挖坑小程序脚本,新漫游正版辅助软件(曝光教程开挂辅助下载);打开点击测试直接进入微...
分辨真假!赣牌圈科技有没有挂,... 越乡游义乌辅助器微信免费开挂教程视频分享装挂详细步骤在当今的网络游戏中,越乡游义乌辅助器微信免费作为...
玩家攻略推荐!微乐贵阳捉鸡麻将... 玩家攻略推荐!微乐贵阳捉鸡麻将挂软件,博雅棋牌辅助器,往昔有开挂辅助器(有挂头条)1、下载安装好微乐...
透明安装!微信小程序有挂吗辅助... 透明安装!微信小程序有挂吗辅助,wpk透视怎么安装(攻略教程辅助开挂工具);无需打开直接搜索微信(1...
大家学习交流!大当家辅助,边锋... 大家学习交流!大当家辅助,边锋老友填大坑辅助,分析开挂辅助器(有挂规律) 了解更多开挂安装加(136...
重大消息!八闽福建辅助软件免费... 重大消息!八闽福建辅助软件免费下载,奇迹陕西靖边锅子有没有技巧,一向有开挂辅助平台(有人有挂);无需...
透明科技!新九方透视挂,樱花之... 透明科技!新九方透视挂,樱花之盛挂(科技教程开挂辅助插件);无需打开直接搜索薇:136704302 ...