iT邦幫忙

2023 iThome 鐵人賽

DAY 16
0
自我挑戰組

線上商店串接tappay系列 第 16

React useEffect

  • 分享至 

  • xImage
  •  

useEffect 是 React 函式組件中用於處理副作用的 Hook。副作用指的是與組件渲染無直接關聯的任何操作,例如資料獲取、訂閱事件、手動操作 DOM 等。

useEffect 可以用來管理副作用的執行時機,以確保在特定情況下執行特定的程式碼。它接受兩個參數:一是一個函式,用於描述需要執行的副作用操作;二是一個陣列,用於指定當中的依賴項(Dependencies),當這些依賴項發生變化時,useEffect 會重新執行。

只要render(組件渲染)時都會觸發useEffect函式,我們可以感受一下Dependencies。

useEffect(() => {
    console.log('use effect ran');
    console.log(blogs);
  }, [name])

現在dependencies是blogs的name,所以現在除了一開始的initial render會觸發useEffect函式外,除非作者的name有變動,其他都不會觸發函式。

如果有用到函式會顯示,use effect ran
圖1
原本每次點delete blog都會跑useEffect函式,因為有重新render
圖2
但現在dependencies改為name
圖3
所以點delete blog不會跑useeffect函式,除非點了change name。
圖4

簡單來說useEffect可以管理執行時機,下篇用它來fetch data。


參考資料

Net ninja


上一篇
React props
下一篇
React Fetch data
系列文
線上商店串接tappay30
.

尚未有邦友留言

立即登入留言