react

課程目標(biāo)

  • 掌握React其他 API 使用:PureComponent、ref、children、dangerouslySetInnerHTML、key
  • 掌握函數(shù)式組件及常見 hooks 的使用
  • 可以獨(dú)立開發(fā)基于Hooks 或 Component 的 todoList 應(yīng)用

課程內(nèi)容

PureComponent

PureComponent 提供了一個(gè)具有淺比較的 shouldComponentUpdate 方法,其他和 Component 完全一直

ref

  • 舊版 - string ref
  • 主流 - createRef()
  • 注意:在 組件掛載完成之后及更新之后使用

children

  • 組件標(biāo)簽對(duì)之間的內(nèi)容會(huì)被當(dāng)做一個(gè)特殊的屬性 props.children 傳入組件內(nèi)容
  • 可以自定義結(jié)構(gòu)的組件的常用形式
    • children
    • 傳遞函數(shù)
    • 傳遞子組件

dangerouslySetInnerHTML

直接設(shè)置標(biāo)簽的 innerHTML

key 的問題

在 React ,組件每次更新時(shí),會(huì)生成一個(gè) 虛擬DOM,和原有的虛擬DOM進(jìn)行對(duì)比。
如果是批量生成的一組元素,那React就會(huì)根據(jù) key 值去做對(duì)比

一個(gè)列表中的每一項(xiàng) key 是唯一的
如果列表中發(fā)生順序等操作變化,key 一定要用數(shù)據(jù)的id

實(shí)戰(zhàn) - 完整todoList

函數(shù)式組件

函數(shù)式組件中,沒有 state 和 生命周期,所以又被稱為 無狀態(tài)組件,在早期 react 版本中,被當(dāng)前純渲染組件來用

React hooks

React hooks 是React 16.8中的新增功能。它們使您無需編寫類即可使用狀態(tài)和其他React功能
參考:https://reactjs.org/docs/hooks-intro.html

React Hooks 優(yōu)勢(shì)

  • 簡(jiǎn)化組件邏輯
  • 復(fù)用狀態(tài)邏輯
  • 無需使用類組件編寫

常用 hook

  • useState
    const [state, setState] = useState(initialState);
  • useEffect
    類組件
    componentDidMount、componentDidUpdate 和 componentWillUnmount
    需要清除的副作用
  • useRef

Hook 使用規(guī)則

  • 只在最頂層使用 Hook
  • 只在 React 函數(shù)中調(diào)用 Hook
    • React 函數(shù)組件中
    • React Hook 中 - 我自己定義 hook 時(shí),可以調(diào)用別的hook
  • 所有的 hook 必須 以 use
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • React-1 課程內(nèi)容 React 是什么? 一個(gè)用于構(gòu)建用戶界面的 JavaScript 庫(kù) 命令式編程 和 ...
    lucky_yao閱讀 642評(píng)論 0 1
  • 很多教程都把 React 作為一個(gè) UI 庫(kù)來引入。這是很有道理的,因?yàn)?React 本身就是一個(gè) UI 庫(kù)。就像...
    京程一燈閱讀 1,608評(píng)論 0 2
  • 前言 本文全面介紹了React Hooks的所有API概念、用法、豐富的demo以及部分底層原理。 實(shí)際上,Rea...
    南宮__閱讀 3,777評(píng)論 0 6
  • > 本文重點(diǎn):介紹React重構(gòu)的起因和目的,理解Fiber tree單向鏈表結(jié)構(gòu)中各屬性含義,梳理調(diào)度過程和核心...
    intopiece_檳閱讀 1,490評(píng)論 0 0
  • 今天的React題沒有太多的故事…… 半個(gè)月前出了248個(gè)Vue的知識(shí)點(diǎn),受到很多朋友的關(guān)注,都強(qiáng)烈要求再出多些R...
    浪子神劍閱讀 10,234評(píng)論 6 106

友情鏈接更多精彩內(nèi)容