最新要闻
- 热消息:伊利回应30支冰糕分30箱发货 被网友吐槽太浪费:订单推送失误造成
- 全球热点!网友拿到了一加11:真的跟老板说的一样巨流畅
- 144MB缓存游戏神U!AMD锐龙7000X3D定档:情人节大礼
- 【当前热闻】美国所有航班都已停飞 电脑系统竟突发故障:官方给出恢复时间
- 焦点关注:日系首款电动B级轿车!本田雅阁插混版来了:可挂绿牌
- 广州一宝马SUV冲撞人群 官方通报:已致5死13伤 司机被控制
- 环球即时:太阳4天内发出两次X级耀斑:几天后指向地球、或引强烈地磁暴
- 每日聚焦:真我GT Neo5标准版曝光:不到200g机身塞进5000mAh和骁龙8+
- 天天微头条丨I Do钻戒母公司被申请破产:被年轻人摒弃 太不保值 有人1.8万买只值180元
- 新款魏牌拿铁DHT-PHEV亮相惹争议 网友吐槽:不能我一个人瞎
- 头条焦点:小米最好高端口碑!雷军:MIX Fold 2研发成本很高 屏幕是天价定制
- 奢侈服装品牌Acne新春广告片被批 网友称其“阴间兔”
- 男童放鞭炮炸飞井盖连砸两车 科普:炮仗遇上下水道堪比小炸弹
- 【环球播资讯】男子吐槽APP看天气预报要点8个广告 网友:手机自带的不好吗?
- 世界快看点丨雅迪参展CES:汽车级快充亮相 20分钟充满80%电池
- 三星Galaxy S24系列或取消Plus版本:销量太惨淡
广告
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
世界新资讯:React核心概念与JSX
【资料图】
React概况React是一个只用来写HTML的UI页面的JS库,在MVC设计模式中它只相当于View,故:它并不是一个框架(MVC架构角色设计)。React组件内数据改动会自动更新到屏幕上。React项目是一个SPA单页面应用。使用create-react-app脚手架工具创建的应用会默认安装babel, webpack工具,支持ES6特性。React的特点声明式:在使用react编写UI页面的时候,编写的代码只是一种说明,说明页面长什么样子,而对于如何将这段声明描述转换成真实的页面DOM则有React框架来完成。组件化:react框架的开发是使用的组件化开发,将一个个可重复的块状UI封装成一个个组件,提供了代码的复用。学习一次到处运行:学了react, 则可以用来写Html前端页面,iOS,安卓移动端应用,VR虚拟现实等。这三种应用场景都需要导入React, 但是不同的场景需要导入不同的ReactDomReact库与React-Dom库React库:主要负责创建,管理react组件,它创建的react组件实际上是一个js对象,里面包含了要显示标签的描述说明。如:创建一个react元素对象。// React.createElement创建的ele是一个js对象 // 第一个参数:要创建的React元素 // 第二个参数:该React元素的属性 // 第三个参数及其以后的参数:该React元素的子节点 const ele = React.createElement("h1", {id: "标题"}, "Helle React Ele");React-Dom库: 主要负责将react生成的组件,标签转换成真实的页面上的DOM元素。它主要是通过库提供的render方法进行实现ReactDOM.render
// ReactDOM.render将这个react生成的js对象,映射成真实的DOM元素并展示到屏幕上 // 第一个参数:要渲染的React元素 // 第二个参数:DOM元素,用于指定渲染到页面中的位置, 所以React创建的应用是SPA单页面应用。 ReactDOM.render(ele, document.getElementById("root"))真实DOM与虚拟DOM
const ele3 = React.createElement("h2", {id:"title2"}, React.createElement("h3", {id:"title3"}, "hello, ele3"))const ele4 =console.log("虚拟DOM", ele4)是一个普通的JS对象,它的类型是Objectconsole.log("真实DOM", ele5)也是一个普通的JS对象,它的类型是Object它们的区别是:console.log("虚拟DOM", ele4)因为只在React内部使用,它的方法是属性非常少,是一个很轻量的对象。console.log("真实DOM", ele5)因为是document上真实存在的对象,所以dom元素需要的属性和方法都有,所以它比较重。虚拟DOM就是使用React对象创建的ele元素如虚拟Dom对象:React.createElement("h3", {id:"title3"}, "hello, ele3")虚拟DOMele4:使用jsx编写的虚拟DOMconst ele5 = document.getElementById("demo")console.log("虚拟DOM", ele4)console.log("真实DOM", ele5)debuggerReactDOM.render(ele2,document.getElementById("rootReact"));
hello, ele4
const ele4 =ele3: 使用js编写的虚拟DomReactDOM.render(ele2,document.getElementById("rootReact"));
hello, ele4
const ele3 = React.createElement("h2", {id:"title2"}, React.createElement("h3", {id:"title3"}, "hello, ele3"))ReactDOM.render(ele2,document.getElementById("rootReact"));babel转换过程将JSX翻译成JSele4:使用jsx编写的虚拟DOM通过babel转换器转换后,得到ele3: 使用js编写的虚拟Dom另外:在html页面中的script标签里,script的type默认是js,这里使用type="text/babel"是告诉浏览器,这块作用域用的是JSX, 并用babel进行解析。
<script type="text/babel"> let myDom =使用脚手架创建项目方式一:本地全局安装reate-react-app脚手架工具hello tan
; //将虚拟DOM元素myDom, 渲染到真实DOM上去 ReactDOM.render(myDom,document.getElementById("rootReact"));</script>
.npm install -g create-react-app 全局安装脚手架2.create-react-app --version 查看安装的版本3.create-react-app my-app 创建项目4.npm start/ yarn start 启动项目方式二:临时使用远程reate-react-app脚手架工具npx是npm v5.2.0引入的一条指令,用于提升包内命令行工具使用体验。可以不先按照到本地而直接使用create-react-app脚手架工具。yarn是Facebook发布的包管理器,用于替代npm, 功能和npm一样。,具有快速,可靠,安全的特点。
npx create-react-app my-app 创建项目2.npm start/ yarn start 启动项目通过使用reate-react-app脚手架创建的项目,默认已经安装了babel,所以项目已经默认支持ES6语法。如可以使用import导入方式代替require("")方式了因为react项目是SPA单页面应用,所以在使用reate-react-app脚手架创建的项目里,可以只保留index.html和index.js这两个源代码文件。其中index.html是单页面应用的根页面。index.js是react项目的入口。其中webpack编译器编译的入口就是index.js文件。最简单的react项目实现中,index.js文件这样写。
import React from "react";import ReactDOM from "react-dom";const ele = React.createElement("h1", {title: "文章的标题"}, "Hello React")ReactDOM.render(ele, document.getElementById("root"))JSX是React的核心功能,它是声明式的体现,用JSX可以在JS中体现html结构。通过在JSX中使用JS表达式的方式,实现了React的条件渲染,列表渲染来描述UI的布局结构。React使用className或style={{}}设置样式布局, 并且React完全是利用了JS的能力,而非造轮子增强html的功能,如for循环在React中用map方法,而在Vue中使用v-for方法。JSX概况jsx : javascript xml可以理解成在js中编写html。这里写的jsx语句本质上是 React.createElement这类js语句的语法糖。p1和p2是等价的。
let p1 = React.createElement("h1",null,"hello React !!")let p2 =为什么能在react脚手架项目中可以直接使用jsx, 而不能直接在js中使用jsx, 是因为create-react-app脚手架中默认加入了babel转换工具,使用@babel/preset-react做这层转换。jsx注意点1.react中的属性是驼峰命名2.与html的标签中属性不同的情况class->className3.如果标签中没有内容,那么可以直接/>结束3.定义jsx时可以使用()包裹,放置编译器自动插分号陷阱。在jsx中使用js变量,其实也是在js语法糖中使用js变量。jsx中引入js表达式时需要用{},需要注意Vue中插入变量使用的是{{}}双花括号插值表达式1.可以放表达式,不可以放if,for语句2.jsx标签变量也可以放3.不可以方法{对象},style可以放对象{{}}js表达式是什么?是一个带返回值的变量或其他 如:"hello React !!"
ReactDom.render(p1, document.getElementById("root"))
1.a2.a+b3.list.map()它们在左边都可以用一个const var = 进行接收。这个接收的值是{}要展示的值js语句是什么
js语句是什么1.if(){}2.for(){}3.switch(){}这些没有返回指定值的代码就是js语句,它们不能放到React的{}中2.内联样式,要用style={{key:value}}3.标签首字母首字母小写,React会自动转换成对应的html标签 首字母大写,React会寻找定义的组件条件渲染//1.if else表达式//2.三元运算符//3.逻辑运算符
let loading = false//条件渲染//1.if else表达式let loadData = () => { if (loading) { return列表渲染1.使用map做列表映射2.list下要设置key做唯一标识, 并且这个key最好不要用index下标,防止对数据删除时造成混乱加载中...
} else { return加载完成
}}//2.三元运算符loadData = () => { return loading ?加载中...
:加载完成
}//3.逻辑运算符loadData = () => { return loading &&加载中...
}const container = ({loadData()})ReactDom.render(container, document.getElementById("root"))
//列表渲染const songs = [ {id:1,name:"大约在冬季"}, {id:2,name:"菊花台"}, {id:3,name:"捉泥鳅"}]const container = (样式渲染jsx样式设置有2种方式1.通过style={{color:"red", textAlign:"center"}}对象的方式设置2.通过className="title"类名的方式设置{songs.map((item)=>)ReactDom.render(container, document.getElementById("root")){item.name} )}
//样式渲染const artile = function () { return这是一篇文章
}const container = ({artile()})ReactDom.render(container, document.getElementById("root"))
-
mac下php环境搭建
1 什么是XAMPPXAMPP(Apache+MySQL+PHP+PERL)2 XAMPP下载安装XAMPP下载地址:apachefriends双击下载打开的xxx dmg,继续点击图标
来源: 世界新资讯:React核心概念与JSX
热消息:伊利回应30支冰糕分30箱发货 被网友吐槽太浪费:订单推送失误造成
全球热点!网友拿到了一加11:真的跟老板说的一样巨流畅
mac下php环境搭建
天天快讯:MQ——如何保证消息不会丢失
144MB缓存游戏神U!AMD锐龙7000X3D定档:情人节大礼
【当前热闻】美国所有航班都已停飞 电脑系统竟突发故障:官方给出恢复时间
速看:偶数位(熟悉二进制)
当前信息:Mysql页分裂
焦点关注:日系首款电动B级轿车!本田雅阁插混版来了:可挂绿牌
广州一宝马SUV冲撞人群 官方通报:已致5死13伤 司机被控制
环球即时:太阳4天内发出两次X级耀斑:几天后指向地球、或引强烈地磁暴
世界视点!02-Sed语法介绍
每日聚焦:真我GT Neo5标准版曝光:不到200g机身塞进5000mAh和骁龙8+
天天微头条丨I Do钻戒母公司被申请破产:被年轻人摒弃 太不保值 有人1.8万买只值180元
新款魏牌拿铁DHT-PHEV亮相惹争议 网友吐槽:不能我一个人瞎
CQOI2007,洛谷P4710涂色
头条焦点:小米最好高端口碑!雷军:MIX Fold 2研发成本很高 屏幕是天价定制
奢侈服装品牌Acne新春广告片被批 网友称其“阴间兔”
男童放鞭炮炸飞井盖连砸两车 科普:炮仗遇上下水道堪比小炸弹
【环球播资讯】男子吐槽APP看天气预报要点8个广告 网友:手机自带的不好吗?
世界快看点丨雅迪参展CES:汽车级快充亮相 20分钟充满80%电池
全球快看点丨链表栈队列递归哈希表有序表
Codeforces 1278 F Cards 增强版 题解 (斯特林数,推式子)
热点在线丨sortablejs 列表拖拽排序,js vue2,解决拖拽排序乱序问题
世界快资讯:用低代码这把“剑”之前,要先看定位,各取所需
当前短讯!开源动物行为分析实验箱(斯金纳箱)研发总结
三星Galaxy S24系列或取消Plus版本:销量太惨淡
【天天时快讯】大碗更尽兴!海福盛香辣牛肉面大促:每桶到手3块钱
今日视点:特斯拉2022年中国销量44万辆 还不敌比亚迪一个宋
《咬文嚼字》公布年度十大语文差错:连花清瘟?莲花清瘟?
世界观焦点:荣耀二代骁龙8新机来了!Magic 5系列入网:春节后发布
环球观速讯丨python之路 58 linux文件配置相关
学习笔记——MyBatis自动映射与自定义映射;Mybatis延迟加载
当前关注:C#、TS和Dart对比1:概述
即时焦点:SpringBoot Xss漏洞修复
软件开发入门教程网之Git 基本操作
热门:别克GL8危险!腾势D9累计订单超5万:50%用户来自BBA
3岁男童反复呕吐被确诊癌症晚期:被称为儿童癌症之王
当前速读:《咬文嚼字》公布2022年度十大语文差错:天和核心舱、莘莘学子上榜
努比亚Z50限定版明天首销:搭载最纯净的定制系统 无广告
环球观点:操作系统
环球播报:C++构造函数【cherno课程学习】
手机端H5 实现自定义拍照界面
今日热议:2022年我国人均存款近1.3万元 网友:又拖后腿了
【报资讯】一家四口在三亚溺水全部遇难:官方科普“离暗流”危险性
天天微动态丨2022收官!合资车时代被终结 “迪王”养成 大票车企失去肥年
【环球速看料】《小美人鱼》真人电影周边童书曝光 黑美人鱼好可爱
天天即时:双形态不入耳!讯飞开放式办公耳机iFLYBUDS Air图赏
小米MIX Fold 2厚度与戴壳iPhone 14 Pro Max相当 雷军:惊艳
当前通讯!3秒复制任何人的嗓音!微软音频版DALL·E细思极恐 连环境背景音也能模仿
每日热议!官宣:Intel发烧U回来了!350W 56核能打过AMD 280W 64核吗?
每日播报!人气爆棚!上美回应《中国奇谭》周边断货:已开足马力生产
Shell 命令奇淫技巧,就是有点短
当前头条:你买过哪些?苹果已售出23.2亿部手机 国人最爱iPhone 6
每日速递:美国加州风暴天气已致17死 有大树直接被连根拔起
环球速看:取消灵动岛!苹果iPhone 16 Pro将配备屏下Face ID
春运咋办?博主跑1千公里高速实测充电桩:有服务区一半都是坏的
【时快讯】《中国奇谭》口碑封神!仅上线三集 播放量突破5000万
【世界聚看点】CPU、显卡持续涨价!全球PC出货量暴跌 联想继续第一
简讯:(五)elasticsearch 源码之查询流程分析
环球热文:消息服务 + Serverless 函数计算如何助力企业降本提效?
世界滚动:el-table更新数据页面闪烁问题
全球今日报丨DJI这三个字母 是怎么占领你的背包的
环球热头条丨告别毛巾“一条恒久远”!金号纯棉抑菌毛巾大促:一条5块钱
今日快讯:哪吒汽车联手宁德时代共研“滑板底盘”:电池、底盘合体
世界信息:苹果加大降低中国工厂依赖程度:都要搬走?印度成香饽饽 出口激增
独占4K AMR 120帧高规格!《流浪地球2》发布CINITY海报
世界热点!指针知识点总结
每日热讯!TiDB 底层存储结构 LSM 树原理介绍
linux基础:2、前期必备知识、系统运行命令、快捷方式命令、目录结构相关命令、文件与文件夹相关命令、目录结构
环球今日报丨C# 循环给多个连续编号的控件赋值
网上银行怎么转账?网上银行转账限额是多少?
诺基亚5800xm当年多少钱?诺基亚5800XM手机参数
投影仪吊架怎么安装?吊式投影仪安装方法
华为gt2怎么设置相册表盘?华为gt2有血氧功能吗?
唐门鸟翔碧空在哪里学?唐门鸟翔碧空可以放什么技能?
雷龙鱼水温多少合适?雷龙吃什么饲料?
最新消息:三星Galaxy S23系列定档:2月2日登场 首发新版骁龙8 Gen2
《满江红》公布秦桧版预告:饰演者雷佳音狠辣狡诈
【全球新要闻】特斯拉大降价 其它车企跟不跟?乘联会秘书长发声
焦点速读:万物有灵 被收养流浪狗跳车拦住怀孕主人 下一秒山路塌方
每日聚焦:1208元!中国探月航天推出限量火箭碎片:运送嫦娥四号的长三乙
加减乘除是谁发明的?加减乘除混合运算100道
米亲韩语是什么意思?韩语shake it是什么意思?
全高清和超高清有什么区别?全高清和超高清4K哪个更护眼?
异丙醇的作用与用途有哪些?异丙醇和酒精的区别是什么?
Serverless 奇点已来,下一个十年将驶向何方?
每日热点:没电、没网也能支付 数字人民币全新功能上线:安卓先行
环球微资讯!用上比亚迪发动机 斯威大虎ED-i增程版亮相:油耗低至2.06升
关注:公司就给员工加薪50元致歉 已尽力对不起大家引热议:为何不知足?
Win7彻底停服 国产OS统信站出来了:打印机、软件轻松迁移
读编程与类型系统笔记04_类型安全
微动态丨【QtJson】用Qt自带的QJson,直接一步到位封装和解析一个类的实例对象!
还买iPhone 14/15?新iPhone准备中:苹果弃灵动岛 更完美
人民日报评电视收费乱象:从用户身上“薅羊毛” 广告还见缝插针
微头条丨今年首场寒潮来袭 最强雨雪下在哪?这些地区将迎暴雨、暴雪
天天滚动:2022年 我把比亚迪DM-i插混当纯电动车 开了1万公里
《王者荣耀》星会员正式上线:全新充值体系 打破贵10等级限制
当前速讯:神舟新款游戏本上架:13代i5+满血RTX 3050 4999元