iT邦幫忙

2024 iThome 鐵人賽

DAY 19
0

關鍵字

  • Components:一段可複用的程式碼,React的最小單位。名稱以大寫開頭
  • JSX:類似模板語言的JS語法擴充。會回傳JS物件React element,並最終渲染成DOM。React 17後,JSX將透過jsx-runtime處理
  • Props:Components的參數,可以是任意值。唯讀,只能父傳子
  • Event Handlers:有互動時會觸發的函式。名稱慣例以handle + 元素名稱 + 事件名稱,如handleTitleClick
  • useState:為Components添加狀態。會回傳包含state變數(初始值)和setter(更新前者並觸發渲染)的[ 陣列 ]
  • useImmer:簡化State更新邏輯的第三方Hook。會回傳包含draft(Proxy)和updater(以update開頭)的[ 陣列 ]
  • useReducer:狀態管理用,可透過儲存的State更新介面。useReducer 有兩個參數,分別是Reducer函數和初始State。其中Reducer函數本身包含tasks(初始值)和action(JS物件)兩個參數,會透過事件處理函數dispatch過來的action更新初始State。通常搭配switch…case…
  • useContext:讓Props可以跨組件共享。先創建某某props(createContext),再使用它的值(useContext),後提供(<Provider>
  • 包住傳值對象的<Provider>標籤,相當於<你創的Props.Provider value={ 你要用的值 }>
  • useRef:像是沒有setter的useState。不會觸發渲染,但回傳的是具有current屬性,可以修改的{ 物件 }
  • useEffect:讓組件可以執行副作用。每次渲染後都會執行,要指定依賴
  • useLayoutEffect:只有執行時機不同於useEffect,執行完程式才重繪畫面
  • useMemo:用來記憶複雜的運算值,避免重新計算以提升效能
  • useCallback:用來記憶函式,避免那個函式因為「跟它無關的變化」重渲染

上一篇
【Day18】Effect3
下一篇
【Day20】Recap2
系列文
【現在學React還來得及嗎?】30天Takeaway分享30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言