React基本引入和JSX语法_环球今热点 - 行业动态 -

当前位置:首页  >  行业动态  > 正文

React基本引入和JSX语法_环球今热点

React基本引入和JSX语法_环球今热点
2023-06-25 16:34:51 来源:博客园
1.1 React介绍1.1.1. 官网英文官网: https://reactjs.org/中文官网: https://react.docschina.org/1.1.2. 介绍描述用于动态构建用户界面的 JavaScript 库(只关注于视图)由Facebook开源1.1.3. React的特点声明式编码组件化编码React Native 编写原生应用高效(优秀的Diffing算法)1.1.4. React高效的原因使用虚拟(virtual)DOM, 不总是直接操作页面真实DOM。DOM Diffing算法, 最小化页面重绘。1.2React的基本使用1.2.1 相关js库react.js:React核心库。react-dom.js:提供操作DOM的react扩展库。babel.min.js:解析JSX语法代码转为JS代码的库。

引入时必须讲究顺序,react.js要在react-dom.js之前

1     <script type="text/javascript" src="../js/react.development.js"></script>2     3     <script type="text/javascript" src="../js/react-dom.development.js"></script>4     5     <script type="text/javascript" src="../js/babel.min.js"></script>

或使用CDN引入

1     <script crossorigin src="https://unpkg.com/react@17/umd/react.development.js"></script>2     <script crossorigin src="https://unpkg.com/react-dom@17/umd/react-dom.development.js"></script>3     <script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>
1.2.2 使用React

不使用脚手架直接html文件里引入


(资料图)

1  2  3  4      5     hello_react 6  7  8      9     
10 11 12 <script type="text/javascript" src="../js/react.development.js"></script>13 14 <script type="text/javascript" src="../js/react-dom.development.js"></script>15 16 <script type="text/javascript" src="../js/babel.min.js"></script>17 18 <script type="text/babel" > /* 此处一定要写babel */19 //1.创建虚拟DOM20 const VDOM =

Hello,React

/* 此处一定不要写引号,因为不是字符串 */21 //2.渲染虚拟DOM到页面22 ReactDOM.render(VDOM,document.getElementById("test"))23 </script>24 25

效果图如下,可以看到已经完成渲染

1.2.3虚拟DOM与真实DOM

介绍中提到,react的优势有通过diff算法减少页面的重绘和重排来提升性能,所以就需要虚拟DOM的使用。我们编码时基本只需要操作react的虚拟DOM相关数据, react会转换为真实DOM变化而更新界面。

关于虚拟DOM:

本质是Object类型的对象(一般对象)虚拟DOM比较“轻”,真实DOM比较“重”,因为虚拟DOM是React内部在用,无需真实DOM上那么多的属性。虚拟DOM最终会被React转化为真实DOM,呈现在页面上。
1         const VDOM = (  /* 此处一定不要写引号,因为不是字符串 */ 2             

3 Hello,React 4

5 ) 6 //2.渲染虚拟DOM到页面 7 ReactDOM.render(VDOM,document.getElementById("test")) 8 9 const TDOM = document.getElementById("demo")10 console.log("虚拟DOM",VDOM);11 console.log("真实DOM",TDOM);
1.2.4 创建虚拟DOM的两种方式

1.纯JS式(不推荐)

React提供了一些API来创建一种 “特别” 的一般js对象 ,下面创建的就是一个简单的虚拟DOM对象

const VDOM = React.createElement("标签",{属性名1:属性值1,属性名2:属性值2},"内容")

但是大多数时候创建元素时都会遇到多层元素嵌套,比如下面的代码,一个h1标签里面装着一个span标签,就需要2次调React.createElement()方法,如果层数更多将非常不方便,而且对于查看内部的元素结构也非常不方便

const VDOM = React.createElement("h1",{id:"title"},React.createElement("span",{},"Hello,React"))

2.JSX方式

创建同样的结构,明显JSX更加清晰简单

1     <script type="text/babel" > /* 此处一定要写babel */ 2         //1.创建虚拟DOM 3         const VDOM = (  /* 此处一定不要写引号,因为不是字符串 */ 4             

5 Hello,React 6

7 ) 8 //2.渲染虚拟DOM到页面 9 ReactDOM.render(VDOM,document.getElementById("test"))10 </script>

因为这里是JSX语法,不是普通的JS语法,所以书写的时候有一些差异,比如html结构不加引号直接可以写在里面作为虚拟DOM。

JSX语法规则

1.定义虚拟DOM时,不要写引号。

2.标签中混入JS表达式时要用{}。

3.样式的类名指定不要用class,要用className。4.内联样式,要用style={{key:value}}的形式去写。5.只有一个根标签6.标签必须闭合7.标签首字母(1).若小写字母开头,则将该标签转为html中同名元素,若html中无该标签对应的同名元素,则报错。(2).若大写字母开头,react就去渲染对应的组件,若组件没有定义,则报错。以下是JSX语法操作样式和属性的例子,对于back这个类,直接在ul中使用字符串对className属性进行赋值。列表渲染,需要形成一个数组,所以使用大括号包裹数组的方式,{ arr },数组的具体内容是多个
  • 。这里先是使用了JSX的行内样式来控制每个
  • 的样式,这里的样式都是通过对象的形式来书写,多个单词组成的属性名要用小驼峰命名(第一个单词以小写字母开始;从第二个单词开始以后的每个单词的首字母都采用大写字母)。 在列表渲染中,必须要加入key这个属性作为元素的唯一标识,属性值一般是不相同的值比如id、手机号、身份证号、学号等唯一值。此处仅用于数据的展示,key就用index(diff算法相关内容)。
    1  6  7  8     
    9 10 <script type="text/babel">11 const data = ["Vue", "React", "Angular"]12 const VDom = (13
      14 {data.map((item, index) => {15 return
    • {item}
    • 16 })}17
    18 )19 ReactDOM.render(VDom, document.getElementById("root"))20 21 </script>22

    标签:

  • (责任编辑:news01)
    深圳东纵军政干部学校旧址(关于深圳东纵军政干部学校旧址介绍) 每日看点

    深圳东纵军政干部学校旧址(关于深圳东纵军政干部学校旧址介绍) 每日看点

    来为大家讲解以上的问题。深圳东纵军政干部学校旧址,圳东纵军政干部学
    06-22 13:54:50
    全球实时:有效沟通 第11版(对于有效沟通 第11版简单介绍)

    全球实时:有效沟通 第11版(对于有效沟通 第11版简单介绍)

    聊聊一篇效沟通第11版,对于有效沟通第11版简单介绍的文章,网友们对这
    06-22 12:46:01
    环球今热点:苔花如米小也学牡丹开的意思_苔花如米小也学牡丹开什么意思

    环球今热点:苔花如米小也学牡丹开的意思_苔花如米小也学牡丹开什么意思

    1、“白日不到处,青春恰自来。2、苔花如米小,也学牡丹开”出自清代诗
    06-22 11:37:14
    天天看点:债权人行使不安抗辩权一般有哪些规定

    天天看点:债权人行使不安抗辩权一般有哪些规定

    一、债权人行使不安抗辩权一般有哪些规定债权人行使不安抗辩权一般有的
    06-22 10:51:02
    辽宁地工产品推介会在京举行|天天新资讯

    辽宁地工产品推介会在京举行|天天新资讯

    本报讯记者董翰博报道6月20日,辽宁地工产品推介会在北京辽宁大厦举行
    06-22 10:16:27
    播报:促进纪检监察工作与信息技术深度融合

    播报:促进纪检监察工作与信息技术深度融合

    “目前,大数据筛查比对对全市自办案件的贡献度超过50%,成为问题线索
    06-22 09:35:22
    小孩高烧引起抽搐怎么治疗吃什么药_小孩高烧引起抽搐怎么治疗_全球快报

    小孩高烧引起抽搐怎么治疗吃什么药_小孩高烧引起抽搐怎么治疗_全球快报

    1、小儿高热引起的惊厥,医学上称为热性惊厥,多发生于上呼吸道感染等
    06-22 09:02:19
    沪指失守3200点,市场底在何方?分析称节后大概率将企稳

    沪指失守3200点,市场底在何方?分析称节后大概率将企稳

    沪指失守3200点,市场底在何方?分析称节后大概率将企稳,沪指,政策面,
    06-22 07:56:42
    环球热资讯!怎样让老公释放压力?这三个已婚女人说出了经验

    环球热资讯!怎样让老公释放压力?这三个已婚女人说出了经验

    在现代社会中,越来越多的男性承受着沉重的工作和生活压力。他们需要面
    06-22 06:54:18
    天天报道:中国北大荒(00039):高等法院指示押后有关债权人计划的召开聆讯将于7月31日由案件法官审理

    天天报道:中国北大荒(00039):高等法院指示押后有关债权人计划的召开聆讯将于7月31日由案件法官审理

    智通财经APP讯,中国北大荒(00039)发布公告,内容涉及债权人计划的建议
    06-22 06:06:43
    2023年晋宁区公办幼儿园招生公告

    2023年晋宁区公办幼儿园招生公告

    晋宁区2023年公办幼儿园招生公告一、招生计划2023年,晋宁区公办幼儿园
    06-22 05:07:38
    小程序远程控制电脑?懒人式操作,秒哇!_环球新资讯

    小程序远程控制电脑?懒人式操作,秒哇!_环球新资讯

    生活在信息时代的年轻人,每天和手机、电脑和网络相伴,一大愿望肯定是
    06-22 02:14:49
    世界微速讯:越剑智能: 关于2022年年度报告的补充公告

    世界微速讯:越剑智能: 关于2022年年度报告的补充公告

    越剑智能:关于2022年年度报告的补充公告
    06-21 23:08:22
    观天下!2023端午安康祝福语佳句(95句)

    观天下!2023端午安康祝福语佳句(95句)

    端午节是中国首个入选世界非遗的节日,端午节相信大家都搜索过一些端午
    06-21 22:14:21
    失去尾翼的Ka-52攻击直升机在战场上证明了自己的使用价值-全球要闻

    失去尾翼的Ka-52攻击直升机在战场上证明了自己的使用价值-全球要闻

    6月19日,社交媒体流出的一个视频引起人们的惊叹——一架尾翼明显断裂
    06-21 21:50:04
    全球报道:渤海化学(600800.SH):截止目前暂无员工持股计划

    全球报道:渤海化学(600800.SH):截止目前暂无员工持股计划

    格隆汇6月21日丨渤海化学600800SH在2023年6月21日业绩说明会上表示截止
    06-21 20:56:48
    刘郎已恨逢山远 刘郎已恨晴川远_每日观点

    刘郎已恨逢山远 刘郎已恨晴川远_每日观点

    1、这是娱乐圈第一狗仔卓伟10月26号下午在知乎开直播聊娱乐圈的时候,
    06-21 19:59:36
    【全球新视野】双显卡交火必须是一样的显卡吗_双显卡

    【全球新视野】双显卡交火必须是一样的显卡吗_双显卡

    1、双显卡是什么意思?  所谓双显卡就是采用两块显卡通过桥接器桥接,
    06-21 19:48:44
    都江堰-青城山-虹口漂流一日玩的完吗?求攻略求价钱!! 天天播报

    都江堰-青城山-虹口漂流一日玩的完吗?求攻略求价钱!! 天天播报

    一、都江堰-青城山-虹口漂流一日玩的完吗?求攻略求价钱!!不能玩儿完``
    06-21 19:00:27
    博世科:中标5000万-6000万美元海外供货项目

    博世科:中标5000万-6000万美元海外供货项目

    博世科(300422)6月21日晚间公告,公司近日收到海外某纸业公司出具的《
    06-21 18:30:44
    焦点速读:安徽省养老金上调2023方案今日公布吗?2023年安徽养老金一个月涨多少钱

    焦点速读:安徽省养老金上调2023方案今日公布吗?2023年安徽养老金一个月涨多少钱

    随着端午节的临近,许多退休人员都在期待着今年的养老金调整方案能够尽
    06-21 17:53:35
    累积筹款超3140万 湖南关爱困境妇女儿童募捐活动掀起爱心热潮 当前热闻

    累积筹款超3140万 湖南关爱困境妇女儿童募捐活动掀起爱心热潮 当前热闻

    人民网长沙6月21日电超58万人次“出手”,累计筹集善款超3140万元,其
    06-21 17:37:43
    微创机器人港股跌8.48%

    微创机器人港股跌8.48%

    中国经济网北京6月21日讯微创机器人(02252 HK)港股今日收报19 22港元
    06-21 17:12:23
    曲沃县委书记吴滨调研晋国博物馆展陈提升工作

    曲沃县委书记吴滨调研晋国博物馆展陈提升工作

    6月20日,曲沃县委书记吴滨调研晋国博物馆展陈提升工作。县委常委、宣
    06-21 16:50:26
    焦点速看:麦趣尔控股股东所持部分股份被司法拍卖完成过户

    焦点速看:麦趣尔控股股东所持部分股份被司法拍卖完成过户

    新京报贝壳财经讯(记者阎侠)6月21日,麦趣尔发布关于控股股东所持部
    06-21 16:25:06
    东高科技首席行业研究员秦亮接受《证券日报》采访:中成药集采开标-天天热点评

    东高科技首席行业研究员秦亮接受《证券日报》采访:中成药集采开标-天天热点评

    文章来源|东高科技首席行业研究员秦亮接受《证券日报》采访:《全国中
    06-21 16:02:27
    看热讯:盐酸普罗帕酮片治什么病_盐酸普罗帕酮片副作用

    看热讯:盐酸普罗帕酮片治什么病_盐酸普罗帕酮片副作用

    1、个别患者可出现房室传导阻滞、QT间期延长等症状。2、第四,据报道,
    06-21 15:37:15
    福建省司法厅积极回应群众新需求 打造司法行政特色文明实践法治品牌

    福建省司法厅积极回应群众新需求 打造司法行政特色文明实践法治品牌

    长期以来,福建省司法厅将文明根植于心、践之于行,聚力打造司法行政特
    06-21 15:13:02
    米兰新闻网:纽卡为托纳利开出两倍年薪,转会决定权在球员本人

    米兰新闻网:纽卡为托纳利开出两倍年薪,转会决定权在球员本人

    米兰新闻网在今天更新了托纳利和纽卡斯尔的转会动态。该报道指出,纽卡
    06-21 15:11:06
    世界关注:尽情绽放青春 放飞艺术梦想|2023年美术院校毕业季观察

    世界关注:尽情绽放青春 放飞艺术梦想|2023年美术院校毕业季观察

    时序更替,华章日新,各大高校毕业季如期而至。与普通高校相比,美院毕
    06-21 14:58:15

    为您推荐

    精彩推送