技術問答
技術文章
iT 徵才
聊天室
2026 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
2024 iThome 鐵人賽
DAY
19
0
佛心分享-IT 人自學之術
【現在學React還來得及嗎?】30天Takeaway分享
系列 第
19
篇
【Day19】Recap1
16th鐵人賽
react
haruowang
2024-08-23 12:12:45
445 瀏覽
分享至
關鍵字
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
篇
目錄
RSS系列文
訂閱系列文
4
人訂閱
26
【Day26】R3F 2
27
【Day27】R3F 3
28
【Day28】React Leaflet 1
29
【Day29】React Leaflet 2
30
【Day30】React Leaflet 3
完整目錄
熱門推薦
{{ item.subject }}
{{ item.channelVendor }}
|
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
902
組
團體組數
37
組
累計文章數
19860
篇
完賽人數
528
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
17th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
linux
windows server
css
react
熱門問題
請益如何關閉Windows的登入畫面?
事件檢視器應用-2
熱門回答
熱門文章
[POG-08] 破除迷思:Prompt Orchestration Governance(POG) 常見問題 (FAQ) 大解析
信件delay,Lag,收到的郵件比發出的時間慢很多
當我的AI助手住進雲端:我的生活變了, 使用Clawdbot + Linode一周感受
績效管理是什麼?完整解析定義與流程
什麼是BI(商業智慧)?企業如何利用BI提升效能
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}