useEffect與useState的使用

2022-10-10 21:36:24 字數 909 閱讀 3200

const [n, setn] = react.usestate(0); //usestate()返回乙個陣列,第乙個是讀,第二個是寫

const addn = () =>

useeffect(() => , ) //如果第二個引數為[ ] 空陣列,則表示 conponentdidmount()

useeffect(() => , [n]) //如果第二個引數為乙個變數,則表示改變量變了會執行,它模擬conponentdidupdate()

//如果要看多個變數是否變化,可以寫乙個陣列,如 [n, m]

//如果不傳遞第二個引數,則表示改組件中任意的乙個state變化都會執行

useeffect(() => //這是用來模擬類元件的 componentwillunmount()

})return ( //相當於類元件的render生命週期+1}

}usestate傳入乙個值,作為初始化的值

usestate返回乙個陣列,第乙個元素為獲取值,第二個元素為設定值的乙個函式

useeffect()第乙個引數是乙個**函式,第二個引數是乙個陣列指明要模擬什麼生命週期

模擬生命週期:

如果第二個引數為 空陣列,則表示 componentdidmount()

如果第二個引數為乙個有值的陣列,則表示陣列內的元素改變了會執行,它模擬componentdidupdate()

如果第乙個引數的**函式,返回了乙個函式,則該函式會在元件解除安裝時執行,它模擬componentwillunmount()

函式式元件函式的返回值用來模擬render()

如果需要模擬shouldcomponentupdate()需要使用memo與usememo()

useEffect補充與自定義hooks

需求 通過useeffect獲取到監聽值的舊值與新值 準備一組資料可以被監聽到 import react,from react function child props onchange export default child 通過useref實現繫結 import react,from reac...

useEffect無限呼叫問題

1.useefect 的基本用法 const test,settest usestate 1 const init useeffect test 紅色 test 則是監聽的資料,這裡的監聽資料要分為兩種,1是基本資料型別,2是物件和陣列 2.監聽原理基本理解.簡單來說就是當修改後的值不同於修改之前就...

UseEffect 死迴圈問題記錄

問題 如下 export default props props.data const info,setinfo usestate useeffrct option 當props.data 的值中沒有 option 的時候,就死迴圈了,報錯如下 外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接...