每日心得筆記 2021-08-26 12:22:59

| 1 min read

Week 21

【今日目標】

把 [FE302] React 基礎 - hooks 版本 課程全部看完,並邊做筆記

昨日進度到 prop drilling 與 context
感覺進度有點慢啊QQ

早起

8 點多起床,身體很重眼皮也很重,趕快拿出手機翻看轉移注意力果然起床了~

昨天晚上下大雨的關係,今天早上天氣超好的,去丟垃圾的時候在家附近走了一圈,邊走邊聽 Podcast ,最近在聽「下一本讀什麼」,每集內容都是在講一本書,覺得瓦基的聲音也太好聽,不知不覺就聽完一集了,推薦給大家~

【昨日學習心得】

學習時數約 3 小時

早上突然很想把以前寫的筆記都丟到部落格,就一次丟了好幾篇,還有看了 MVC、MVP、MVVM 的差別,不過說實在的看了很多遍還是不太理解之間的差異,覺得其實都滿像的耶
就像 SQL Injection 跟 XSS 攻擊,其實都知道是什麼原理,但是就會一直忘記哪個是哪個,可能在去面試之前自己寫個衝刺筆記印象會比較深刻

React 的部分看到避免 Rerender 的方法,還有渲染機制 Reconciliation

Rerender

  1. component state 改變,再呼叫一次 function 的方式就叫 Rerender
  2. component state 改變,V-DOM 找出 DOM diff 這也叫 Render

增進效能,避免重複渲染 Rerender

Memo 與 useCallback 常搭配使用
Memo 是 component 用的,會檢查 props 有沒有改變,避免重複渲染
因為 React 的機制會從父元件全部重新渲染,但是子元件沒有改變的情況下,會造成效能上不必要的浪費,這時候 Memo 就派上用場了。

useCallback 可以把一個 function 記起來,依據 dependency function 內的東西做變動,如果 denpendency function 內的東西沒有改變的話,就算重複 render 一次二次都不會改變。

useMemo 是給資料用的,在計算量大的時候使用