您当前的位置:首页 > 百宝箱

React 考点:从入门到提升的必备知识指南

2024-11-11 14:34:54 作者:石家庄人才网

React锛氫粠鍏ラ棬鍒拌繘闃剁殑蹇呭鎸囧崡

React锛岀敱Facebook寮€鍙戝苟鍦℅itHub涓婂紑婧愮殑JavaScript搴擄紝鏄瀯寤哄崟椤靛簲鐢ㄥ拰绉诲姩搴旂敤鐢ㄦ埛鐣岄潰鐨勭悊鎯抽€夋嫨銆傚畠鐨勬牳蹇冧紭鍔垮湪浜庡皢鐣岄潰甯冨眬鍜岀姸鎬佺鐞嗗垎绂伙紝鍊熷姪缁勪欢鍜岃櫄鎷烡OM鎻愰珮鎬ц兘鍜屽彲缁存姢鎬с€備互涓嬫槸React浠庡叆闂ㄥ埌杩涢樁鐨勫繀澶囨寚鍗椼€?/p>涓€銆佹牳蹇冨師鐞?/h3>

React閫氳繃铏氭嫙DOM鏉ユ彁楂樻€ц兘銆傚畠閫氳繃姣旇緝铏氭嫙DOM鍜屽疄闄匘OM鐨勫樊寮傦紝灏藉彲鑳藉噺灏戝疄闄匘OM鐨勬洿鏂帮紝浠庤€屾湁鏁堟彁楂樻晥鐜囥€?/p>浜屻€丷eact缁勪欢

缁勪欢鏄疪eact涓殑鍩烘湰鏋勫缓鍧楋紝鍙互鏄竴娈靛姛鑳芥€х殑浠g爜鎴栫被銆傜粍浠跺彲浠ユ帴鏀跺睘鎬э紙props锛夊拰鐘舵€侊紙state锛夛紝骞惰兘澶熸覆鏌揢I銆備緥濡傦紝涓€涓畝鍗曠殑React缁勪欢浠g爜濡備笅锛?/p>

```jsx

import React from 'react';

function HelloWorld() {

return

Hello, I am a React component!

;

}

export default HelloWorld;

```

涓夈€佺姸鎬佺鐞?/h3>

鐘舵€侊紙state锛夋槸React缁勪欢鍐呴儴鐨勬暟鎹瓨鍌紝鐢ㄤ簬淇濆瓨缁勪欢鐨勭姸鎬佷俊鎭€傚綋鐘舵€佸彂鐢熷彉鍖栨椂锛岀粍浠朵細閲嶆柊娓叉煋浠ュ弽鏄犳渶鏂扮殑鐘舵€併€備緥濡傦紝涓€涓畝鍗曠殑璁℃暟鍣ㄧ粍浠跺涓嬶細

```jsx

import React, { useState } from 'react';

function Counter() {

const [count, setCount] = useState(0);

return (

Count: {count}

);

}

export default Counter;

```

鍥涖€佺粍浠惰繘闃?/h3>

鍖呮嫭绾嚱鏁扮粍浠跺拰绫荤粍浠躲€丷eact Hooks绛夎繘闃剁煡璇嗐€傜函鍑芥暟缁勪欢鎬ц兘鏇撮珮锛屽洜涓哄畠浠笉浼氫慨鏀圭姸鎬佹垨灞炴€с€俁eact Hooks鏄疪eact 16.8鐗堟湰寮曞叆鐨勬柊鐗规€э紝鍏佽鍦ㄦ棤鐘舵€佸嚱鏁扮粍浠朵腑浣跨敤鐘舵€佸拰鐢熷懡鍛ㄦ湡鏂规硶銆備緥濡傦細

```jsx

import React, { useState } from 'react';

function Greeting() {

const [name, setName] = useState('John');

return (

Hello, {name}

setName(e.target.value)} />

);

}

export default Greeting;

```

浜斻€佷簨浠跺鐞嗗拰鍙嶉

浜嬩欢澶勭悊鏄疪eact涓庣敤鎴蜂氦浜掔殑鍏抽敭閮ㄥ垎銆俁eact鎻愪緵浜嗗師鐢熺殑浜嬩欢绯荤粺锛屽彲浠ユ柟渚垮湴澶勭悊鐢ㄦ埛杈撳叆銆備緥濡傦紝涓€涓氦浜掑紡鎸夐挳缁勪欢濡備笅锛?/p>

```jsx

import React, { useState } from 'react';

function ButtonExample() {

const [message, setMessage] = useState('');

const handleClick = () => {

setMessage('Button clicked!');

};

return (

{message}

);

}

export default ButtonExample;

``` 鎺ョ潃浠嬬粛浜哛eact璺敱鍩虹锛屽嵆浣跨敤React Router搴撳湪鍗曢〉搴旂敤绋嬪簭涓鐞嗕笉鍚岀殑椤甸潰銆傝繖瀵逛簬鏋勫缓澶у瀷搴旂敤绋嬪簭鎴栧鏉傜殑Web搴旂敤绋嬪簭鑷冲叧閲嶈銆?React鏄竴涓己澶ц€岀伒娲荤殑搴擄紝鐢ㄤ簬鏋勫缓楂樻晥鐨勫崟椤靛簲鐢ㄥ拰绉诲姩搴旂敤鐢ㄦ埛鐣岄潰銆傛帉鎻℃湰鏂囦粙缁嶇殑鍏抽敭鐭ヨ瘑鐐瑰皢浣挎偍鑳藉鏈夋晥鍦颁娇鐢≧eact杩涜寮€鍙戙€備紭鍖栦笌閮ㄧ讲React搴旂敤鐨勫疄璺垫寚鍗楌煔€

鍦≧eact搴旂敤寮€鍙戜腑锛屾€ц兘浼樺寲鍜岀敓浜х幆澧冪殑閮ㄧ讲閮芥槸鑷冲叧閲嶈鐨勭幆鑺傘€傝鎴戜滑涓€璧锋帰璁ㄥ浣曚娇浣犵殑React搴旂敤鏇村揩閫熴€佹洿娴佺晠鍦版湇鍔′簬鐢ㄦ埛銆?/p>

浠g爜鍒嗗壊锛?鎻愬崌鍔犺浇閫熷害鐨勭瀵嗘鍣?/p>

璁╂垜浠粠鎻愰珮搴旂敤鐨勫惎鍔ㄩ€熷害寮€濮嬨€備娇鐢≧eact.lazy鍜孲uspense锛屼綘鍙互杞绘澗瀹炵幇浠g爜鍒嗗壊锛屽垎娈靛姞杞界粍浠躲€傝繖鎰忓懗鐫€鍙湁褰撶粍浠剁湡姝i渶瑕佽娓叉煋鏃讹紝瀹冧滑鎵嶄細琚姞杞藉拰鎵撳寘銆傝繖澶уぇ鎻愰珮浜嗗簲鐢ㄧ殑鍒濆鍔犺浇閫熷害锛屼负鐢ㄦ埛甯︽潵鏇村ソ鐨勪綋楠屻€傝鎴戜滑鐪嬩竴涓嬩唬鐮佺ず渚嬶細

瀵煎叆蹇呰鐨勬ā鍧楋細

```javascript

import React from 'react';

import { lazy, Suspense } from 'react';

import ReactDOM from 'react-dom';

```

鐒跺悗锛屼娇鐢≧eact.lazy鍔犺浇涓€涓粍浠讹細

```javascript

const LazyComponent = lazy(() => import('./LazyComponent'));

```

鍦ㄥ簲鐢ㄤ腑浣跨敤杩欎釜寤惰繜鍔犺浇鐨勭粍浠讹細

```javascript

function App() {

return (

// 鍦ㄧ粍浠跺姞杞芥椂鏄剧ず鐨勬浛浠e唴瀹癸紝鐩村埌缁勪欢鍑嗗灏辩华骞舵垚鍔熸覆鏌撱€傚彲浠ユ牴鎹渶瑕佽嚜瀹氫箟fallback缁勪欢銆?/suspense>

// 杩欓噷鏄欢杩熷姞杞界殑缁勪欢銆傚綋杩欎釜缁勪欢琚覆鏌撴椂锛屽畠浼氳寮傛鍔犺浇銆傝繖鏍峰氨涓嶄細闃诲搴旂敤鐨勫垵濮嬫覆鏌撱€傚彲浠ユ彁楂樺簲鐢ㄧ殑鍚姩閫熷害銆?/p>

);

}

```灏嗕綘鐨勫簲鐢ㄦ覆鏌撳埌DOM涓細

React閰嶇疆鍩烘湰璺敱鎸囧崡馃搻 馃専 馃殌 馃挕 馃殾 馃敡 馃帹 鏋勫缓楂樻晥React搴旂敤鐨勫叧閿楠わ紒鎴戜滑涓嶄粎鏋勫缓搴旂敤锛屾垜浠繕浼樺寲瀹冧滑骞堕儴缃插埌鐢熶骇鐜锛佽繖鏄竴涓繀涓嶅彲灏戠殑姝ラ锛岀‘淇濇偍鐨勫簲鐢ㄧ▼搴忛珮鏁堛€佸仴澹笖鏄撲簬缁存姢銆傝鎴戜滑娣卞叆浜嗚В濡備綍閰嶇疆鍩烘湰璺敱鍜岄儴缃叉偍鐨凴eact搴旂敤绋嬪簭銆傪煔€馃摝鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪鉁ㄢ湪馃憠鍩烘湰璺敱閰嶇疆: 褰撴偍鍦ㄦ瀯寤哄崟椤靛簲鐢ㄦ椂锛屼娇鐢≧eact Router鍙互涓烘偍鐨勫簲鐢ㄧ▼搴忔彁渚涙竻鏅扮殑瀵艰埅缁撴瀯銆備紭鍖栨偍鐨凴eact搴旂敤:鍦ㄥ紑鍙戝拰閮ㄧ讲闃舵閮借杩涜鎬ц兘浼樺寲銆傚叾涓竴浜涚瓥鐣ュ寘鎷娇鐢≧eact鐨勪唬鐮佸垎鍓茬壒鎬ц繘琛岀粍浠舵噿鍔犺浇绛夈€傞儴缃插埌鐢熶骇鐜:閫氳繃浣跨敤宸ュ叿濡倃ebpack鍜宯pm鏉ユ瀯寤虹敓浜х幆澧冪殑浠g爜鐗堟湰鍚庯紝閫夋嫨閫傚綋鐨勯儴缃叉柟寮忥紙濡侫WS銆丠eroku鎴朧ercel绛変簯鏈嶅姟锛夎繘琛岄儴缃层€備笉鏂疄璺?閬靛惊鏈€浣冲疄璺靛苟涓嶆柇灏濊瘯鏂扮殑React鐗规€у拰鎶€鏈彲浠ュ府鍔╂偍鎻愰珮寮€鍙戞妧鑳藉苟鏋勫缓鍑洪珮鏁堢殑搴旂敤绋嬪簭銆傝鎴戜滑涓€璧锋帰绱㈣繖涓濡欑殑鏃呯▼鍚э紒馃専馃専馃専馃専馃専馃専馃専馃専馃専馃専馃専馃専馃専馃専馃専馃専馃専馃専馃専馃専馃専馃専馃専馃専馃専馃専馃専馃専馃専馃専馃専馃専馃専閭d箞浣犵殑椤圭洰鐩綍搴旇鍍忚繖鏍疯缃細鐩綍缁撴瀯鈹溾攢鈹€ src鈹? 鈹溾攢鈹€ App.js鈹? 鈹溾攢鈹€ Home.js鈹? 鈹溾攢鈹€ About.js鈹? 鈹溾攢鈹€ routes.js锛堝瓨鏀捐矾鐢遍厤缃級鈹溾攢鈹€ public鈹? 鈹溾攢鈹€ index.html锛堝叆鍙f枃浠讹級鈹溾攢鈹€ package.json锛堥」鐩厤缃枃浠讹級鈹溾攢鈹€ node_modules锛堜緷璧栨ā鍧楋級绛夌瓑浣犵殑App.js鏂囦欢鍙兘鐪嬭捣鏉ュ儚杩欐牱锛歩mport React from 'react';import { BrowserRouter as Router, Route } from 'react-router-dom';function App() {return (HomeAbout);}function Home() {return Home Page;}function About() {return About Page;}export default App;鎺ヤ笅鏉ヤ綘鍙互娣诲姞鏇村鐨勮矾鐢遍厤缃湪浣犵殑routes.js鏂囦欢涓苟寮曞叆鐩稿簲鐨勭粍浠朵互瀹炵幇浣犵殑搴旂敤闇€姹傘€傝繖鏄竴涓畝鍗曠殑渚嬪瓙锛歩mport React from 'react';import { Route } from 'react-router-dom';import Home from './Home';import About from './About';const routes = (ReactDOM.render((), document.getElementById('root'));鐜板湪浣犲凡缁忎负浣犵殑React搴旂敤閰嶇疆浜嗗熀鏈殑璺敱缁撴瀯锛佹帴涓嬫潵浣犲彲浠ュ紑濮嬩紭鍖栦綘鐨勫簲鐢ㄥ苟閮ㄧ讲鍒扮敓浜х幆澧冧簡锛?/p>

版权声明:《React 考点:从入门到提升的必备知识指南》来自【石家庄人才网】收集整理于网络,不代表本站立场,所有图片文章版权属于原作者,如有侵略,联系删除。
https://www.ymil.cn/baibaoxiang/28177.html