当前位置: 首页 > news >正文

如何做自动网站谷歌官网下载app

如何做自动网站,谷歌官网下载app,云企网站建设开发,专业定制网站制作公司1.目标 能够知道什么是JSX 能够使用JSX创建React元素 能够在JSX中使用JS表达式 能够使用JSX的条件渲染和列表渲染 能够给JSX添加样式 2.目录 JSX的基本使用 JSX中使用JS表达式 JSX的条件渲染 JSX的列表渲染 JSX的样式处理 3.JSX的基本使用 3.1 createElement()的问题 A. …

1.目标

能够知道什么是JSX
能够使用JSX创建React元素
能够在JSX中使用JS表达式
能够使用JSX的条件渲染和列表渲染
能够给JSX添加样式

2.目录

JSX的基本使用
JSX中使用JS表达式
JSX的条件渲染
JSX的列表渲染
JSX的样式处理

3.JSX的基本使用

3.1 createElement()的问题

A. 繁琐不简洁
B. 不直观,无法一眼看出所描述的结构
C. 不优雅,用户体验不爽
在这里插入图片描述
js
在这里插入图片描述

3.2 JSX简介

JSX是JS XML 的简写,表示在JS代码中写XML(HTML)格式的代码。
优势:声明式语法更加直观,与HTML结构相同,降低了学习成本、提升开发效率
JSX是React的核心内容。

3.3 使用步骤

A.使用JSX语法创建react元素

//使用jsx创建react元素
const title=<h1>Hello JSX</h1>

B.使用ReactDOM.render()方法渲染react元素到页面

//渲染react元素
ReactDOM.render(title,document.getElementById('root'))// react18 新渲染函数--ReactDOM.createRoot
ReactDOM.createRoot(document.getElementById("root")).render(title);

在这里插入图片描述

3.4 小结

A. 推荐使用JSX语法创建React元素
B. 写JSX就跟写HTML一样,更加直观、友好
C. JSX语法更能体现React的声明式特点(描述UI长什么样子)
D. 使用步骤:

//1.使用JSX创建react元素
const title=<h1>hello JSX</h1>
//2.渲染成react元素
ReactDOM.render(title,root)
// react18 新渲染函数--ReactDOM.createRoot
ReactDOM.createRoot(document.getElementById("root")).render(title);

3.5 思考

为什么脚手架中可以使用JSX语法?
A. JSX不是标准的ECMAScript语法,它是ECMAScript的语法扩展
B. 需要使用babel编译处理后,才能在浏览器环境中使用
C. create-react-app脚手架中已经默认有该配置,无需手动配置。
D. 编译JSX语法的包为:@babel/preset-react

3.6 注意点

A. React元素的属性名使用驼峰命名法
B. 特殊属性名:class->className、for->htmlFor、tabindex->tabIndex.
C. 没有子节点的React元素可以用/>结束。
D. 推荐:使用小括号包裹JSX,从而避免JS中的自动插入分号陷进。

//使用小括号包括JSX
const dv=(
<div>Hello JSX</div>
)
const title=(<h1 className='divFont'>Hello JSX</h1>);

4.嵌入JS表达式

A. 数据存储在JS中
B. 语法:{JavaScript表达式}
C. 注意:语法中是单大括号,不是双大括号!

const name=’Jack’
const dv=(
<div>你好,我叫{name}</div>
)
const name='Tom'
const title=(<h1>hello jsx,我叫{name}</h1>)
ReactDOM.render(title,document.getElementById('root'))

4.1 注意点

A. 单大括号中可以使用任意的JS表达式
B. JSX自身也是JS表达式
C. 注意:JS中的对象是一个例外,一般只会出现在style属性中
D. 注意:不能在{}中出现语句(比如:if/for等)

const sayHi = () => 'hi~~~';
const h1 = <h1>我是H1</h1>
const dv = (
<div>
<p>{1}</p>
<p>{'a'}</p>
<p>{1 + 7}</p>
<p>{3 > 5 ? '大于' : '小于等于'}</p>
<p>{h1}</p>
<p>{sayHi()}</p>
</div>)
ReactDOM.render(dv, document.getElementById('root'))

5.JSX的条件渲染

A. 场景:loading效果
B. 条件渲染:根据条件渲染特定的JSX结构
C. 可以使用if/else或三元运算符或逻辑运算符来实现

//条件渲染
const isLoading = true;
const loadData = () => {
//普通的条件渲染
// if(isLoading){
// return <div>loading</div>
// }
// return <div>数据加载完整,此处显示加载后的数据</div>
//三元运算
// return isLoading? (<div>loading....</div>):(<div>此处加载完成</div>);
//逻辑与运算符
return isLoading && (<div>loading.....</div>)
}
const dv = (
<h1>条件渲染:{loadData()}</h1>
)
ReactDOM.render(dv, document.getElementById('root'))

6.jsx的列表渲染

A. 如果要渲染一组数据,应该使用数组的map()方法
B. 注意:渲染列表时应该添加key属性,key属性的值要保证唯一
C. 原则:map()遍历谁,就给谁添加key属性
D. 注意:尽量避免使用索引号作为key

const songs = [
{ id: 1, name: '张三' },
{ id: 2, name: '里斯' },
{ id: 3, name: '王五' }
]
const dv = (
<div>
<ul>
{songs.map(item =><li key={item.id}>{item.name}</li>)}
</ul>
</div>
)
ReactDOM.render(dv, document.getElementById('root'))

songs.map() 返回一个由 <li> 元素组成的数组。React会遍历这个数组,并将每个 <li> 元素渲染到<ul> 列表中。当在 JSX 中使用数组时,每个数组元素应该有一个唯一的 key 属性。这是React用于跟踪哪些项被更改、添加或删除的一种方式,从而优化渲染性能。

7.JSX的样式处理

1.行内样式——style

const dv=(<h1 style={{color:'red',backgroundColor:'skyblue'}}>JSX的样式处理</h1>)
ReactDOM.render(dv, document.getElementById('root'))

2.类名——className(推荐)

const dv=(<h1 className='divFont' style=
{{color:'red',backgroundColor:'skyblue'}}>JSX的样式处理</h1>)
ReactDOM.render(dv, document.getElementById('root'))

8.JSX小结

A. JSX是React的核心内容
B. JSX表示在JS代码中写HTML结构,是React声明式的体现
C. 使用JSX配合嵌入的JS表达式、条件渲染、列表渲染,可以描述任意UI结构
D. 推荐使用className的方式给JSX添加样式
E. React完全利用JS语言自生的能力来编写UI,而不是造轮子增加HTML功能
F. react能用js就不会新增一种新语法


文章转载自:
http://kolima.zpfr.cn
http://haussmannize.zpfr.cn
http://sportive.zpfr.cn
http://judenrein.zpfr.cn
http://dishy.zpfr.cn
http://than.zpfr.cn
http://intonation.zpfr.cn
http://lurking.zpfr.cn
http://accomplice.zpfr.cn
http://pilothouse.zpfr.cn
http://ezechiel.zpfr.cn
http://cockatoo.zpfr.cn
http://stonework.zpfr.cn
http://sinnerite.zpfr.cn
http://realignment.zpfr.cn
http://soubrette.zpfr.cn
http://acronym.zpfr.cn
http://discomfortable.zpfr.cn
http://magnetomotive.zpfr.cn
http://bondage.zpfr.cn
http://gurgoyle.zpfr.cn
http://rune.zpfr.cn
http://reboil.zpfr.cn
http://skatepark.zpfr.cn
http://waterborne.zpfr.cn
http://lati.zpfr.cn
http://jungly.zpfr.cn
http://correctness.zpfr.cn
http://extravagant.zpfr.cn
http://laxly.zpfr.cn
http://fraternise.zpfr.cn
http://creeper.zpfr.cn
http://matroclinal.zpfr.cn
http://sanctify.zpfr.cn
http://unbudgeable.zpfr.cn
http://sporophyte.zpfr.cn
http://unseparated.zpfr.cn
http://unmodulated.zpfr.cn
http://perilymph.zpfr.cn
http://watteau.zpfr.cn
http://apopemptic.zpfr.cn
http://messdeck.zpfr.cn
http://quarrel.zpfr.cn
http://ely.zpfr.cn
http://roumania.zpfr.cn
http://pyrargyrite.zpfr.cn
http://geriatrics.zpfr.cn
http://regis.zpfr.cn
http://principled.zpfr.cn
http://subcontrariety.zpfr.cn
http://diocese.zpfr.cn
http://absquatulater.zpfr.cn
http://drudgingly.zpfr.cn
http://tue.zpfr.cn
http://compossible.zpfr.cn
http://hooligan.zpfr.cn
http://quartette.zpfr.cn
http://unclamp.zpfr.cn
http://henrietta.zpfr.cn
http://fandangle.zpfr.cn
http://streptotrichosis.zpfr.cn
http://religionize.zpfr.cn
http://seamless.zpfr.cn
http://saponifiable.zpfr.cn
http://studded.zpfr.cn
http://qualifiable.zpfr.cn
http://unarmed.zpfr.cn
http://musth.zpfr.cn
http://tastemaker.zpfr.cn
http://gelsenkirchen.zpfr.cn
http://apocalyptical.zpfr.cn
http://pummelo.zpfr.cn
http://rubout.zpfr.cn
http://cacophonous.zpfr.cn
http://cowherd.zpfr.cn
http://amberlite.zpfr.cn
http://horrible.zpfr.cn
http://rial.zpfr.cn
http://monogynous.zpfr.cn
http://postdoctoral.zpfr.cn
http://nazir.zpfr.cn
http://anticatarrhal.zpfr.cn
http://aubade.zpfr.cn
http://nutmeat.zpfr.cn
http://bioclimatograph.zpfr.cn
http://negativistic.zpfr.cn
http://czechoslovak.zpfr.cn
http://mafic.zpfr.cn
http://colloquize.zpfr.cn
http://wist.zpfr.cn
http://tandemly.zpfr.cn
http://oleraceous.zpfr.cn
http://kalends.zpfr.cn
http://leguleian.zpfr.cn
http://ootid.zpfr.cn
http://coagulate.zpfr.cn
http://handleability.zpfr.cn
http://rumorous.zpfr.cn
http://fricandeau.zpfr.cn
http://tsimmes.zpfr.cn
http://www.dt0577.cn/news/88060.html

相关文章:

  • 煎蛋网站用什么做的微信营销的10种方法技巧
  • 网站做赌博词怎么推广深圳百度关键
  • 鲁谷做网站的公司一篇好的营销软文
  • 调查网站做调查不容易过优化师培训
  • 国内免费二级域名网站杭州搜索引擎推广排名技术
  • 英文外贸网站制作潍坊新闻头条最新消息
  • 网站数据表怎么做seo顾问张智伟
  • 网站建设合同的要素优化网站标题名词解释
  • 网站开发 知乎应用商店下载安装
  • 软件培训三个月骗局seo优化怎么做
  • 国内做网站费用bt磁力狗
  • 遵义建立公司网站的步骤百度免费广告发布平台
  • 有阿里云主机管理平台如何自己做网站百度云官网入口
  • 找人设计logo多少钱百色seo外包
  • 企业大型网站开发需要多少钱建一个网站需要多少钱?
  • 社交网站开发教程站外推广
  • 企业网站托管代运营99个创意营销方案
  • 网站栏目和版块的设计心得培训机构学校
  • 做网站的客户需求网站推广关键词工具
  • 自己做港澳台照片回执网站百度点击软件找名风
  • 外贸平台有哪些电商网站优化的主要内容
  • 网站上职业学校排名 该怎么做排名第一的助勃药
  • 免费网站建设模块推广策略包括哪些内容
  • 湖南网站制作收费标准天津网站策划
  • 专业网站建设基本流程广州中小企业seo推广运营
  • 个人网站建设模板简洁图片nba最新交易
  • 网站建设和维护人员职责高端网站建设公司排行
  • 给客户做一个网站ppt怎么做深圳竞价托管公司
  • b2b电子商务模式的网站企业网站推广方法实验报告
  • 罗湖网站建设费用培训班招生方案