React-JSX基础

什么是JSX

概念:JSX是JavaScript和XML(HTML)的缩写,表示在JS代码中编写HTML模板结构,它是React中编写UI模板的方式

优势:1.HTML的声明式模板写法 2.JS的可编程能力

JSX的本质

JSX并不是标准的JS语法,它是JS的语法拓展,浏览器本身不能识别,需要通过解析工具做解析之后才能在浏览器中运行

编译网站:Babel · Babel

点击右上角的"Try it out"

要把最左侧的react勾选上,左侧填写JSX代码,右侧就是浏览器编译后的代码

高频场景

JSX中使用JS表达式

在JSX中可以通过大括号语法{}识别Javascript中的表达式,比如常见的变量、函数调用、方法调用等等

1.使用引号传递字符串

复制代码
{字符串}

2.使用JavaScript变量

复制代码
{JS变量名}

3.函数调用和方法调用

复制代码
{函数名()}

4.使用JavaScript对象

注意:if语句、switch语句、变量声明属于语句,不是表达式,不能出现在{}中

JSX中实现列表渲染

语法:在JSX中可以使用原生JS中的map方法遍历渲染列表

注意事项:加上一个独一无二的key值(类型可以是字符串或者number)

key的作用:React框架内部使用,提升更新性能

JSX中实现条件渲染

语法:在React中,可以通过逻辑与运算符&&、三元表达式(?:)实现基础的条件渲染

JSX中实现复杂条件渲染

自定义函数+if判断语句来实现复杂条件的渲染

相关推荐
程序员小寒7 分钟前
前端性能优化之白屏、卡顿指标和网络环境采集篇
前端·javascript·网络·性能优化
烛阴35 分钟前
Claude CLI AskUserQuestion 工具详解:让 AI 开口问你
前端·claude
wal13145201 小时前
OpenClaw教程(九)—— 彻底告别!OpenClaw 卸载不残留指南
前端·网络·人工智能·chrome·安全·openclaw
mon_star°1 小时前
在TypeScript中,接口MenuItem定义中,为什么有的属性带问号?,有的不带呢?
前端
牛奶1 小时前
分享一个开源项目,让 AI 辅助开发真正高效起来
前端·人工智能·全栈
次顶级2 小时前
表单多文件上传和其他参数处理
前端·javascript·html
why技术2 小时前
我拿到了腾讯QClaw的内测码,然后沉默了。
前端·后端
谪星·阿凯3 小时前
XSS漏洞解析博客
前端·web安全·xss
ole ' ola3 小时前
lambda表达式
java·前端·jvm