第一組讀書會 5-1 ~ 5-2 #37
ywcheng1207
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Review
這兩個章節主要是介紹副作用及useEffect,釐清對於useEffect常見的誤解。
副作用:
常見的副作用包像是操作DOM、修改函式外面的變數等行為。副作用的壞處就是可能導致程式可預測性降低,造成開發及維護上的困難。因此框架需要一個工具來區隔副作用的處理,以方便管理,而React使用的就是useEffect。
關於5-2提到的觀念釐清:useEffect 其實不是 function component 的生命週期 API:
在釐清這個觀念以前,需要先知道程式設計有分為宣告式與指令式。過去React使用的class component是指令式的,也就是說,需要特別指定在元件渲染的各個階段 (生命週期),需要對應做什麼事情。但function component與useEffect是宣告式的設計,開發者不會去控制時機這件事情。有了這個觀念之後,進一步看到useEffect的dependencies,常見的誤解就是以為它的意義是「何時執行」,但其實是「何時跳過」。
QA
5-1 React 中的副作用處理:effect 初探
- 什麼是副作用?為什麼我們需要透過
useEffect
在 React component function 中處理副作用?- 以
useEffect
來處理一段副作用的三大步驟是什麼?- 解釋「每次 render 都有其自己版本的 effect 與 cleanup 函式」是什麼意思?
- 一次 render 中的 effect 函式與 cleanup 函式會在什麼時間點被執行?
5-2 useEffect 其實不是 function component 的生命週期 API
-
useEffect
是 function component 的生命週期 API 嗎?為什麼?- 為什麼 React 要以
useEffect
的資料流同步化這種設計來取代生命週期 API?-
useEffect
的dependencies
機制的設計目的與用途是什麼?- 我們可以用
dependencies
參數來模擬 function component 生命週期 API 的效果嗎?補充問題
答案
Beta Was this translation helpful? Give feedback.
All reactions