最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

react:JSX

2021-09-08 11:18 作者:做架構(gòu)師不做框架師  | 我要投稿

什么是react?

用于構(gòu)建用戶界面的JavaScript庫。

什么是JSX?

React 使用 JSX 來替代常規(guī)的 JavaScript。JSX 是一個看起來很像 XML 的 JavaScript 語法擴展。

我們不需要一定使用 JSX,但它有以下優(yōu)點:

  • JSX 執(zhí)行更快,因為它在編譯為 JavaScript 代碼后進行了優(yōu)化。

  • 它是類型安全的,在編譯過程中就能發(fā)現(xiàn)錯誤。

  • 使用 JSX 編寫模板更加簡單快速。

我們先看下以下代碼:

const element =<h1>Hello, React!</h1>;

這種看起來可能有些奇怪的標簽語法既不是字符串也不是 HTML,它被稱為 JSX, 一種 JavaScript 的語法擴展。我們推薦在 React 中使用 JSX 來描述用戶界面。JSX 是在 JavaScript 內(nèi)部實現(xiàn)的。

我們知道元素是構(gòu)成 React 應(yīng)用的最小單位,JSX 就是用來聲明 React 當中的元素。

說了這么多,接下來我們來具體地去使用JSX!

創(chuàng)建項目

第一步,通過腳手架的命令“npx create-react-app hello-jsx”來創(chuàng)建一個react項目。

第二步,進入“hello-jsx”文件夾執(zhí)行“npm start”命令,啟動項目,當瀏覽器出現(xiàn)以下界面說明我們創(chuàng)建成功了!

Hello,JSX

每學(xué)習(xí)一門技術(shù),我們總是會習(xí)慣性地打印“Hello,World”,這次也不例外。首先我們在項目的src文件夾下找到index.js文件,把里面全部刪掉,編寫我們的代碼。

1、導(dǎo)入react

import React from 'react' import ReactDOM from 'react-dom'

2、使用JSX創(chuàng)建react元素

const title = (<h1 ?className="title">hello JSX</h1>)

3、渲染react元素

ReactDOM.render(title, document.getElementById('root'))

ok,編寫完成,是不是比react寫的代碼簡單得多了,完整代碼如圖所示

打開瀏覽器檢驗效果!

JavaScript表達式

我們可以在 JSX 中使用 JavaScript 表達式。表達式寫在花括號 {} 中。

1、我們創(chuàng)建一個變量name

const name ?= 'JSX'

2、在創(chuàng)建react元素的時候,我們用花括號{}接收。

const title = (<h1 ?className="title">hello {name}</h1>)

完整代碼如圖所示。

條件渲染

我們可以使用if語句、三元運算表達式和“&&”用來做條件渲染,由于if和三元運算差不多,這里只寫三元運算表達式和“&&”。

1、創(chuàng)建一個變量

const isLoading = true

2、創(chuàng)建一個函數(shù)

const loadData = () => { ?

????return isLoading ? (<div>loading...</div>) : (<div>數(shù)據(jù)加載完成</div>)

}

3、使用JSX創(chuàng)建react元素

const title = (<h1 className='title'>條件渲染:{loadData()}</h1>)

4、渲染react元素

ReactDOM.render(title, document.getElementById('root'))

完整代碼如圖所示。

“&&”也可以實現(xiàn)同樣的效果,寫法如下所示。

const loadData = () => { ?

????return isLoading && (<div>loading...</div>)?

}

列表渲染

1、創(chuàng)建列表

const plays = [ ?

????{id: 1, name : "打球"}, ?

????{id: 2, name : "跳舞"}, ?

????{id: 3, name : "唱歌"},?

]

2、使用JSX創(chuàng)建react元素

const list = ?( ? ?

????<ul> ? ? ?

????{plays.map(item => <li key={item.id}>{item.name}</li>)} ? ?

????</ul>?

)

3、渲染react元素

ReactDOM.render(list, document.getElementById('root'))

完整代碼如圖所示。

設(shè)置樣式

1、引入外部css文件

import './index.css'

2、創(chuàng)建react元素

const title = (<h1 ?className="title">hello JSX</h1>)

3、渲染react元素

ReactDOM.render(title, document.getElementById('root'))

完整代碼如圖所示。

ok,在本文我們學(xué)習(xí)了如何用JSX實現(xiàn)一些簡單的應(yīng)用,包括:

  • javaScript表達式

  • 條件渲染

  • 列表渲染

  • 設(shè)置樣式

寫在最后

好兄弟可以點贊并關(guān)注我的公眾號“javaAnswer”,全部都是干貨。


react:JSX的評論 (共 條)

分享到微博請遵守國家法律
永登县| 绥德县| 江北区| 海淀区| 尼玛县| 瓮安县| 保山市| 西昌市| 吉首市| 井陉县| 永靖县| 上林县| 乳山市| 宜兴市| 岳普湖县| 通河县| 西峡县| 龙泉市| 定南县| 綦江县| 清流县| 靖安县| 商洛市| 潢川县| 大同市| 巴南区| 杨浦区| 富锦市| 米脂县| 德钦县| 芦山县| 宜都市| 吉安市| 包头市| 江陵县| 宜城市| 郑州市| 永福县| 禄劝| 横峰县| 平原县|