网易首页 > 网易号 > 正文 申请入驻

React 基础入门 -- JSX 基础

0
分享至

文章来源:https://www.yuque.com/study365

1、什么是 JSX
JSX 是 JavaScript 的一种语法扩展。可以组装UI界面,同时可以和 JavaScript 语法配合使用。

2、为什么使用 JSX
● 使用熟悉的语法定义 HTML 元素,提供更加语义化的标签,使用 JSX 编写模板更简单快速
● 更加直观:JSX 让组件更加简单、明了、直观
● 抽象了 React 元素的创建过程,使得编写组件变得更加简单
举例说明如下:
const children1 = React.createElement('li', null, "第一个组件内容!");
const children2 = React.createElement('li', null, "第二个组件内容!");
const root = React.createElement('ul', { className: "list" }, children1, children2);
JSX等价如下:
const root = (

  • 第一个组件内容!

  • 第二个组件内容!


显然JSX写法更便于页面的编写与维护,且简单、直观。

3、JSX书写规范
● JSX的最外层只能有一个根元素,可以使用 div 、span 等标签
● 正常情况下,我可以在最外层包裹一个小括号(),方便我们更好的格式化代码
● JSX中的标签可以是单标签,也可以是双标签;注意:如果是单标签,必须以/>结尾
● 在使用变量时,我们可以将其放在一个大括号中,大括号内可以放置任何有效的 JavaScript 表达式
代码示例如下:


const root = (

第一个组件内容!

{1 === 1 &&第二个组件内容!


4、JSX注释
通常有以下三种注释



  • {/* 1、单行注释 */}
  • 第一个组件内容!
  • // 2、行尾注释
  • 第二个组件内容!

  • 3、多行注释
    1
    2
    3

5、JSX 嵌入变量
变量在 JSX 使用,需要用大括号 { } 包裹;注意:使用的变量需要提前定义。如下。

const MyComponent = () => {
const text = "Hello World!";
return (
{text}

export default MyComponent;

6、JSX 嵌入表达式
● 运算符表达式
● 三元表达式
● 函数调用

const MyComponent = () => {
const isFinish = true;
const calc = () => {
const a = 1;
const b = 2;
return a + b;
};
return (

{/*1.运算符表达式*/}
2 + 3 的和为:{2 + 3}
{/*2.三元表达式*/}
家庭作业是否完成:{isFinish ? "是" : "否"}
{/*3.进行函数调用*/}
{calc()}


export default MyComponent;

7、JSX绑定属性
注意:在给元素绑定style时,外层的大括号是表示可传入变量或者表达式。而内部的大括号是一个对象,它里面是键值对,表示元素的样式属性及属性值。另外,当属性是由多个单词组成的时候,需要用驼峰命名法来表示,例如:fontSize

const MyComponent = () => {
const title = "我是标题的全部内容!";
const url = "https://www.baidu.com";
const className = "span";
return (

{/* 1、绑定普通属性 */}
我是标题...
百度一下
{/* 2.绑定class */}
我是span标签
我是span标签2
{/* 3.绑定style */}
我的字体颜色是红色


export default MyComponent;

8、JSX绑定事件
可以看出 React 元素的事件处理和 DOM 元素的很相似,但存在一些语法上的差异:
● React 的事件采用驼峰式命名,而不是纯小写的方式
● 使用 JSX 语法时,需要传入一个函数作为事件处理函数,而不是一个字符串
● 使用函数时不能加括号,不然会直接执行
● 如果函数过于简单,可在JSX中直接编写函数内容

const MyComponent = () => {
const onClick = () => {
window.alert("您点击了按钮1");
}
return (

按钮1
onClick={() => {
window.alert("您点击了按钮2");

按钮2


export default MyComponent;

9、JSX条件渲染
常见的条件渲染的方式有以下三种:
● 方式一:条件判断语句,适合逻辑较多的情况
● 方式二:三元运算符,适合逻辑比较简单
● 方式三:与运算符&&,如果条件成立,渲染&&后面的组件;如果条件不成立,则都不渲染

const MyComponent = () => {
const renderTitle = (key) => {
if (key > 1) {
return 我是标题1
}
return 我是标题2
}
return (

renderTitle(2)

2 > 1 ? 我会显示出来 : 我会隐藏

2 > 1 && 我会显示出来


export default MyComponent;

10、JSX 列表渲染
我们通常使用 Javascript 的 map 函数来处理 JSX 数组列表循环渲染;如下

const MyComponent = () => {
const array = ["1", "2", "3", "4"];
return (

  • array.map(i =>
  • {i}



export default MyComponent;

注意:在渲染是,我们需要给渲染项添加一个key,不然会报错:warning: Each child in a list should have a unique "key" prop.
key和React中的diff算法密切相关。后面章节我们会详情学习。
文章来源:https://www.yuque.com/study365/ongmxc/cnxq9l

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
斯基拉:本泽马转会利雅得新月达成,合约期至2027年

斯基拉:本泽马转会利雅得新月达成,合约期至2027年

懂球帝
2026-02-02 15:32:28
中国人的恐怖“期待”,西方怎么也想不明白,老外都吓傻了!

中国人的恐怖“期待”,西方怎么也想不明白,老外都吓傻了!

毛豆论道
2026-02-01 17:43:14
具俊晔为大S雕像取名《熙媛的永恒轨道》,设计过程全部公开

具俊晔为大S雕像取名《熙媛的永恒轨道》,设计过程全部公开

素素娱乐
2026-02-02 17:03:27
凌晨时分,美资金耗尽了,中国巨幅清除美债,特朗普通告全国4字

凌晨时分,美资金耗尽了,中国巨幅清除美债,特朗普通告全国4字

命运自认幽默
2026-02-02 15:12:35
真不识货!被易立弃用的2名球员,如今在新东家,都成了球队大腿

真不识货!被易立弃用的2名球员,如今在新东家,都成了球队大腿

金山话体育
2026-02-02 09:42:25
郑爽抱娃街头与张恒家互撕!满头白发穿搭邋遢,孩子哭到发抖太扎心

郑爽抱娃街头与张恒家互撕!满头白发穿搭邋遢,孩子哭到发抖太扎心

八星人
2026-02-02 13:29:47
金银大跌,摩根大通分析师:别慌!上涨势头还会持续,年底仍看至6300

金银大跌,摩根大通分析师:别慌!上涨势头还会持续,年底仍看至6300

华尔街见闻官方
2026-02-02 14:31:11
30岁男子如厕时猝死,妻子回忆事发前5天,那些被掩盖的生命求救信号

30岁男子如厕时猝死,妻子回忆事发前5天,那些被掩盖的生命求救信号

红星新闻
2026-02-01 23:06:17
《太平年》5个帝王结局凄惨:最惨的非石重贵、钱弘倧,是刘承祐

《太平年》5个帝王结局凄惨:最惨的非石重贵、钱弘倧,是刘承祐

暖心萌阿菇凉
2026-02-02 16:52:34
吴君如很早就说过了,陈妍希私下就是这样穿

吴君如很早就说过了,陈妍希私下就是这样穿

八星人
2026-01-21 15:14:26
为了得到“魔兽”霍华德,桃园云豹究竟付出了多大的代价?

为了得到“魔兽”霍华德,桃园云豹究竟付出了多大的代价?

罗氏八卦
2026-02-02 20:35:03
“黑色星期一”!全球股市齐跌,纳指期货1%,韩国股指跌5%,英伟达降温AI预期,金、银遭遇历史性踩踏

“黑色星期一”!全球股市齐跌,纳指期货1%,韩国股指跌5%,英伟达降温AI预期,金、银遭遇历史性踩踏

华尔街见闻官方
2026-02-02 13:59:42
章小蕙在国外太敢穿了!一袭蕾丝裙秀出尤物身材,完全没有大婶味

章小蕙在国外太敢穿了!一袭蕾丝裙秀出尤物身材,完全没有大婶味

蓓小西
2026-02-01 10:07:12
众星在大S雕像前拍照,小S双手合十感谢外界,悼念致辞全场哽咽

众星在大S雕像前拍照,小S双手合十感谢外界,悼念致辞全场哽咽

萌神木木
2026-02-02 15:28:15
令人细思极恐的“被室友拒绝3次”事件:永远不要低估人性的丑

令人细思极恐的“被室友拒绝3次”事件:永远不要低估人性的丑

另子维爱读史
2026-02-02 18:06:13
个人增值税起征点提高至1000元

个人增值税起征点提高至1000元

南方都市报
2026-02-02 07:05:17
涉嫌严重违纪违法,姜雨林被查

涉嫌严重违纪违法,姜雨林被查

都市快报橙柿互动
2026-02-02 20:44:25
歌手于文文演唱会突然晕倒,被救护车紧急送医!吴克群救场:“她少唱的,我来帮她唱”

歌手于文文演唱会突然晕倒,被救护车紧急送医!吴克群救场:“她少唱的,我来帮她唱”

黄河新闻网吕梁频道
2026-02-02 09:12:32
被戴8次绿帽子,3次被捉奸在床,这就是我们“玉女”守卫的爱情?

被戴8次绿帽子,3次被捉奸在床,这就是我们“玉女”守卫的爱情?

素衣读史
2026-01-30 17:15:38
孩子私卖长辈金镯被金店1.7万元回收,家长半年后发现要求退还遭拒绝,市监局和警方介入调查

孩子私卖长辈金镯被金店1.7万元回收,家长半年后发现要求退还遭拒绝,市监局和警方介入调查

极目新闻
2026-02-02 13:58:31
2026-02-03 03:16:49
前端大潘与实践
前端大潘与实践
持续分享前端知识,感谢关注!
2文章数 0关注度
往期回顾 全部

科技要闻

阿里筑墙,腾讯寄生,字节偷家

头条要闻

周生生足金挂坠戴1天被刮花 检测后发现含铁、银、钯

头条要闻

周生生足金挂坠戴1天被刮花 检测后发现含铁、银、钯

体育要闻

澳网男单决赛,属于阿尔卡拉斯的加冕仪式

娱乐要闻

57岁音乐人袁惟仁去世,家属发文悼念

财经要闻

金银暴跌 全球股市遭遇“黑色星期一”

汽车要闻

雷克萨斯LC500将于今年底停产 "最美雷克萨斯"谢幕

态度原创

手机
游戏
数码
亲子
公开课

手机要闻

消息称三星Galaxy S27 Ultra将搭载更安全的Polar ID面部识别技术

涨价后没人买了!Xbox在日本崩盘:年销仅3万台

数码要闻

LG宣布停止生产8K电视 内容匮乏与需求不振让“超高清时代”夭折

亲子要闻

萌娃哄生气的妈妈,人小鬼大逗得妈妈生不起气来了

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版