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 的時候,就死迴圈了,報錯如下 外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接...