第三組讀書會 5-3 #36
itzuchen1215
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.
-
《React 思維進化》5-3 讀書會筆記
自我檢測討論
Q1: useEffect 的 dependencies 有三種寫法,分別代表什麼意思?
Q2: 當被通知到需要 render 到 useEffect 中間發生了哪些事?
Q3: 如果欺騙了 useEffect 的 dependencies 會有哪些問題?
通常會導致我們的應用程式出現一些難以察覺與追蹤的 bug,因為這會導致 component 錯誤的忽略某些依賴的原始資料變化時,應該要連動的同步動作。
書上也有說明到欺騙 dependencies 可能使副作用再某些明明有依賴到的資料發生更新時,卻錯誤的跳過了應該要連動執行的同步化動作
Q4: 聽完今天的導讀,你會更改原本的寫法嗎?還是會照舊?
原本是寫vue,一開始把useEffect當成vue watch來用,但讀完這本書後,會依照react的設計模式來實作
像todos那個範例,之前也這樣用過,但讀完這個章節會意識到要照著設計規範走,之後會改正
讀完5-1~5-3,一開始都會把他當成watch,把他當成監聽使用,但有意識到dependencies主要的目的是效能優化,理論上不使用dependencies你的邏輯也不能壞掉,之後在使用上都會抱著這個概念去設計
其他討論
Q. 請問剛剛那個useEffect順序 相反的話會有差嗎?如果dependents 依賴項是同一個的話

A. 會有差,如果你是要問兩個 useEffect 都是依賴於同一個物件,那執行順序就很重要,不過這也要看你的商業邏輯是如何運行
補充
ZET 大大統整的 mental model 重點
React 官方文件連結
useEffect
useRef
useCallback
Beta Was this translation helpful? Give feedback.
All reactions