臺州網(wǎng)站搜索優(yōu)化友情鏈接工具
目錄
一、React 概述
二、開發(fā)環(huán)境創(chuàng)建
三、JSX 基礎(chǔ)
四、React 的事件綁定
五、React 組件基礎(chǔ)使用
六、組件狀態(tài)管理 - useState
七、組件的基礎(chǔ)樣式處理
?
快速入門 – React 中文文檔
一、React 概述
- React 是什么
- 由 Meta 公司開發(fā),是用于構(gòu)建 Web 和原生交互界面的庫。
- React 的優(yōu)勢
- 相較于傳統(tǒng)基于 DOM 開發(fā):
- 采用組件化開發(fā)方式,提高代碼復(fù)用性和可維護(hù)性。
- 性能不錯,通過虛擬 DOM 等機(jī)制提高渲染效率。
- 相較于其它前端框架:
- 擁有豐富的生態(tài)系統(tǒng),有大量的第三方庫和工具。
- 支持跨平臺開發(fā),可以用于 Web、移動端(React Native)等。
- 相較于傳統(tǒng)基于 DOM 開發(fā):
- React 的市場情況
- 全球流行,被大廠廣泛使用。
二、開發(fā)環(huán)境創(chuàng)建
- create-react-app 工具
- 是快速創(chuàng)建 React 開發(fā)環(huán)境的工具,底層由 Webpack 構(gòu)建,封裝了配置細(xì)節(jié),開箱即用。
- 使用命令
npx create-react-app [項目名稱]
創(chuàng)建項目,例如
npx create-react-app react-basic
其中
npx
是 Node.js 工具命令,create-react-app
是核心包,react-basic
是項目名稱可自定義
三、JSX 基礎(chǔ)
- 什么是 JSX
- 是 JavaScript 和 XMl (HTML) 的縮寫,在 JS 代碼中編寫 HTML 模版結(jié)構(gòu),是 React 中構(gòu)建 UI 的方式。
- 優(yōu)勢:
- 具有 HTML 的聲明式模版寫法,方便構(gòu)建頁面結(jié)構(gòu)。
- 擁有 JavaScript 的可編程能力,可靈活處理數(shù)據(jù)和邏輯。
- JSX 的本質(zhì)
- 是 JS 的語法擴(kuò)展,瀏覽器不能直接識別,需解析工具解析后才能使用。
- JSX 高頻場景
- JS 表達(dá)式:在 JSX 中通過
{}
識別 JavaScript 表達(dá)式,如變量、函數(shù)調(diào)用等,但 if 語句、switch 語句、變量聲明不屬于表達(dá)式不能在{}
中。 - 列表渲染:使用
map方法
實現(xiàn)列表渲染,如{list.map(item=><li key={item.id}>{item}</li>)}
- 條件渲染:通過邏輯與運(yùn)算符 &&、三元表達(dá)式 (?:) 實現(xiàn)基礎(chǔ)條件渲染,也可通過自定義函數(shù) + 判斷語句實現(xiàn)復(fù)雜條件渲染。
- JS 表達(dá)式:在 JSX 中通過
四、React 的事件綁定
- 基礎(chǔ)實現(xiàn)
- 通過語法
on + 事件名稱 = {事件處理程序}
綁定事件,遵循駝峰命名法,如<button onClick={clickHandler}>click me</button>
- 通過語法
- 使用事件參數(shù)
- 在事件回調(diào)函數(shù)中設(shè)置形參 e 可獲取事件對象,如
<button onClick={clickHandler(e)}>click me</button>
- 在事件回調(diào)函數(shù)中設(shè)置形參 e 可獲取事件對象,如
- 傳遞自定義參數(shù)
- 事件綁定位置改造成箭頭函數(shù)寫法傳遞實參,如
注意不能直接寫函數(shù)調(diào)用。<button onClick={()=>clickHandler('jack')}>click me</button>
- 事件綁定位置改造成箭頭函數(shù)寫法傳遞實參,如
- 同時傳遞事件對象和自定義參數(shù)
- 在事件綁定位置傳遞事件實參 e 和自定義參數(shù),事件處理函數(shù)中聲明形參對應(yīng)順序,如
<button onClick={(e)=>clickHandler('jack',e)}>click me</button>
- 在事件綁定位置傳遞事件實參 e 和自定義參數(shù),事件處理函數(shù)中聲明形參對應(yīng)順序,如
五、React 組件基礎(chǔ)使用
- 組件是什么
- 一個組件是用戶界面的一部分,有自己的邏輯和外觀,組件之間可嵌套和復(fù)用。
- 組件基礎(chǔ)使用
- 在 React 中,組件是首字母大寫的函數(shù),渲染組件像使用標(biāo)簽一樣,如定義組件
使用組件function Button(){return <button>click me</button>}
<Button/>
或<Button></Button>
。
- 在 React 中,組件是首字母大寫的函數(shù),渲染組件像使用標(biāo)簽一樣,如定義組件
六、組件狀態(tài)管理 - useState
- 基礎(chǔ)使用
- useState 是 React Hook,可向組件添加狀態(tài)變量,狀態(tài)變量變化會影響組件渲染結(jié)果(數(shù)據(jù)驅(qū)動視圖),如
通過const [ count, setCount ] = React.useState(0)
setCount
函數(shù)修改狀態(tài)。
- useState 是 React Hook,可向組件添加狀態(tài)變量,狀態(tài)變量變化會影響組件渲染結(jié)果(數(shù)據(jù)驅(qū)動視圖),如
- 狀態(tài)的修改規(guī)則
- 狀態(tài)被認(rèn)為是只讀的,應(yīng)替換而不是修改,直接修改狀態(tài)不能引發(fā)視圖更新。
- 修改對象狀態(tài)
- 對于對象類型狀態(tài)變量,應(yīng)給
set
方法一個全新的對象來修改。
- 對于對象類型狀態(tài)變量,應(yīng)給
七、組件的基礎(chǔ)樣式處理
- 行內(nèi)樣式
- 通過
style
屬性設(shè)置行內(nèi)樣式,如<div style={{ color:'red'}}>this is div</div>
- 通過
- class 類名控制
- 引入 CSS 文件,使用
className
屬性應(yīng)用類名,如import './index.css';<span className="foo">this is span</span>
- 引入 CSS 文件,使用