1 处铛、React 初識(shí)
1.?什么是 React饲趋?
2.?React 的主要特點(diǎn)是什么?
3.?React 的優(yōu)點(diǎn)是什么撤蟆?
4.?React 的局限性是什么奕塑?
5.?什么是 CRA 及其好處?
6.?React 和 Angular 有什么不同家肯?
7.?與 Vue.js 相比龄砰,React 有哪些優(yōu)勢(shì)?
1.2React 中的組件和 JSX 初識(shí)
1.?什么是 JSX讨衣?
2.?元素和組件有什么區(qū)別换棚?
3.?如何在 React 中創(chuàng)建組件?
4.?何時(shí)使用類組件和函數(shù)組件反镇?
5.?createElement 和 cloneElement 有什么區(qū)別固蚤?
6.?怎樣在 React 中寫(xiě)注釋?
7.?如何使用 React 和 ES6 導(dǎo)入和導(dǎo)出組件?
8.什么是內(nèi)聯(lián)條件表達(dá)式?
9.為什么?React?使用?className?而不是class屬性萍程?
10.在 React 中如何使用 innerHTML斋陪?
11.如何在 React 中使用樣式?
12.如何有條件地渲染組件?
13.如何有條件地應(yīng)用樣式類?
14.如何使用 React label 元素?
15.如何合并多個(gè)內(nèi)聯(lián)的樣式對(duì)象?
16.如何用 React 漂亮地顯示 JSON?
17.模塊化樣式文件有什么好處?
18.是否可以在沒(méi)有 JSX 的情況下使用 React?
19.?在 JSX 中如何進(jìn)行循環(huán)?
20.?keys 是否需要全局唯一?
1.3 編寫(xiě) TodoList 雛形
1.?什么是 Fragments重抖?
2.?為什么使用 Fragments 比使用容器 div 更好恨统?
3.?推薦的組件命名方法是什么畴蒲?
1.4響應(yīng)式設(shè)計(jì)思想和事件綁定
1. HTML 和 React 事件處理有什么區(qū)別?
2. 如何在 JSX 回調(diào)中綁定方法或事件處理程序心肪?
3. 如何將參數(shù)傳遞給事件處理程序或回調(diào)函數(shù)固该?
4. React 中的合成事件是什么桦沉?
5. 每次組件渲染時(shí)調(diào)用函數(shù)的常見(jiàn)錯(cuò)誤是什么埠褪?
6. 為什么有組件名稱要首字母大寫(xiě)苹威?
7. 在 React 中事件有何不同腹暖?
8.constructor和getInitialState有什么區(qū)別亩鬼?
9.?在使用ES6類的React中super()和super(props)有什么區(qū)別?
10. 如何將參數(shù)傳遞給事件處理程序真仲?
1.5初學(xué) React 帶給我們的一些思考
1.?聲明式編程 vs 命令式編程桑谍?
2.?什么是函數(shù)式編程?
1.6 PropTypes 和 DefaultProps 講解
1.?靜態(tài)類型檢查推薦的方法是什么榜跌?
2.?什么是 PropTypes?
3.?什么是 React proptype 數(shù)組票顾?
1.7state 奠骄、props 與 render 函數(shù)的關(guān)系
1. React 的狀態(tài)是什么蝉绷?
2. React 中的 props 是什么讼载?
3. 狀態(tài)和屬性有什么區(qū)別?
4. 為什么不能直接更新?tīng)顟B(tài)?
5. 回調(diào)函數(shù)作為 setState()?參數(shù)的目的是什么享郊?
6. 如果在構(gòu)造函數(shù)中使用 setState()?會(huì)發(fā)生什么?
7. 構(gòu)造函數(shù)使用帶 props 參數(shù)的目的是什么孝鹊?
8. 什么是調(diào)解炊琉?
9. 如何使用動(dòng)態(tài)屬性名設(shè)置 state?
10.?在 React 中如何校驗(yàn) props 屬性又活?
11.?如果在初始狀態(tài)中使用 props 屬性會(huì)發(fā)生什么苔咪?
12.?為什么在 DOM 元素上展開(kāi) props 需要小心?
13.?為什么需要將函數(shù)傳遞給 setState()?方法柳骄?
14.?如何在 attribute 引號(hào)中訪問(wèn) props 屬性团赏?
15.?setState()?和 replaceState()?方法之間有什么區(qū)別?
16.?更新?tīng)顟B(tài)中的對(duì)象有哪些可能的方法耐薯?
17.?為什么函數(shù)比對(duì)象更適合于 setState()舔清?
18.?如何使用 setState 防止不必要的更新?
19.?什么時(shí)候組件的 props 屬性默認(rèn)為 true可柿?
1.8 React 中的“虛擬 DOM”
1.?什么是 Virtual DOM鸠踪?
2.?Virtual DOM 如何工作丙者?
3.?Shadow DOM 和 Virtual DOM 之間有什么區(qū)別复斥?
4.?什么是 React Fiber,它的主要目標(biāo)是什么械媒?
5.?什么是“key”屬性目锭,在元素?cái)?shù)組中使用它們有什么好處?
6.?索引作為鍵的影響是什么纷捞?
7.?安全地使用索引作為鍵的條件是什么痢虹?
8.?如何更新?tīng)顟B(tài)以及不更新?tīng)顟B(tài)?
1.9 React 中 ref 的使用
1. refs 有什么用主儡?
2. 如何創(chuàng)建 refs奖唯?
3.?什么是forwardrefs?
4. callback refs 和 findDOMNode()?哪一個(gè)是首選選項(xiàng)糜值?
5.?為什么StringRefs 被棄用丰捷?
6. 什么是受控組件?
7. 什么是非受控組件寂汇?
8. 如何在頁(yè)面加載時(shí)聚焦一個(gè)輸入元素病往?
9. 在 React 中如何以編程方式觸發(fā)點(diǎn)擊事件?
10. 什么時(shí)候需要使用 refs骄瓣?
1.10 React 生命周期函數(shù)
1. 組件生命周期的不同階段是什么停巷?
2. React 生命周期方法有哪些?
3. 在 React v16 中的錯(cuò)誤邊界是什么?
4. 在 React v15 中如何處理錯(cuò)誤邊界畔勤?
5. 在 componentWillMount()?方法中使用 setState()?好嗎蕾各?
6. 在 mounting 階段生命周期方法的執(zhí)行順序是什么?
7. 在 React v16 中庆揪,哪些生命周期方法將被棄用示损?
8. 生命周期方法 getDerivedStateFromProps()?的目的是什么?
9. 生命周期方法 getSnapshotBeforeUpdate()?的目的是什么嚷硫?
10.?在組件類中方法的推薦順序是什么检访?
11.?如何在調(diào)整瀏覽器大小時(shí)重新渲染視圖?
12.?如何監(jiān)聽(tīng)狀態(tài)變化仔掸?
13.?如何每秒更新一個(gè)組件脆贵?
14.?為什么不能在 componentWillUnmount 中調(diào)用 setState()?方法?
15.?當(dāng)組件重新渲染時(shí)順序執(zhí)行的方法有哪些起暮?
16. 如何提高性能卖氨?
17.?如何在重新加載頁(yè)面時(shí)保留數(shù)據(jù)?
2负懦、Redux 相關(guān)
2.1Redux 的概念和工作流程
1.?什么是 Flux筒捺?
2.?什么是 Redux?
3.?Redux 的核心原則是什么纸厉?系吭?
4.?與 Flux 相比,Redux 的缺點(diǎn)是什么颗品?
5.?Flux 和 Redux 之間有什么區(qū)別肯尺?
2.2 創(chuàng)建 Redux 中的 store 并取得數(shù)據(jù)
1.?如何在組件外部訪問(wèn) Redux 存儲(chǔ)的對(duì)象?
2.3 Action 和 Reducer 的編寫(xiě)
1.?我可以在 reducer 中觸發(fā)一個(gè) Action 嗎躯枢?
2.?如何在加載時(shí)觸發(fā) Action则吟?
3.?為什么 Redux 狀態(tài)函數(shù)稱為 reducers?
4.?Redux DevTools 的功能有哪些锄蹂?
2.4 actionTypes 的拆分
1.?在 React 中如何定義常量氓仲?
2.?Redux 中常量的用途是什么?
2.5 UI 組件得糜、容器組件和無(wú)狀態(tài)組件
1.?什么是無(wú)狀態(tài)組件敬扛?
2.?什么是有狀態(tài)組件?
3.?React Redux 中展示組件和容器組件之間的區(qū)別是什么掀亩?
4.?組件和不同類型舔哪?
2.6Redux 中發(fā)送異步請(qǐng)求獲取數(shù)據(jù)
1.?如何發(fā)起 AJAX 調(diào)用以及應(yīng)該在哪些組件生命周期方法中進(jìn)行 AJAX 調(diào)用?
2.7 使用 Redux-thunk 中間件實(shí)現(xiàn) AJAX 數(shù)據(jù)請(qǐng)求
1.?如何在 Redux 中發(fā)起 AJAX 請(qǐng)求槽棍?
2.?什么是 Redux-thunk捉蚤?
2.8 使用 Redux-saga 中間件實(shí)現(xiàn) AJAX 數(shù)據(jù)請(qǐng)求
1.?什么是 Redux-saga抬驴?
2.?Redux-saga 的模型概念是什么?
3.?在 Redux-saga 中 call()?和 put()?之間有什么區(qū)別缆巧?
4.?Redux-saga 和 Redux-thunk 之間有什么區(qū)別布持?