useEffect 傳遞不同引數有哪些執行規則?

2022-07-11 17:12:18 字數 775 閱讀 7466

一、引數規則

1、可選的

2、陣列型別

3、值為state或者props

二、不同的引數和返回

1、不傳引數

預設的行為,會每次 render 後都執行,一般表單控制中使用

類似於類元件中的componentdidmoount以及componentdidupdate

useeffect(() =>)

2、空陣列

傳入第二個引數,每次 render 後比較陣列的值沒變化,不會在執行

類似於類元件中的 componentdidmount

useeffect(() =>, )

3、有乙個或者多個值得陣列

傳入第二個引數,只有乙個值,比較該值有變化就執行,

傳入第二個引數,有2個值的陣列,會比較每乙個值,有乙個不相等就執行

類似於類元件中的componentdidupdate

useeffect(() =>, [state, props])

4、返回乙個函式

返回時傳遞乙個函式進行解除安裝,在元件解除安裝時候呼叫

類似於類組價中componentwillunmout

useeffect(() => 

})

Python定義函式時,不同引數型別的傳遞

python的底層是通過c語言實現,因此引數呼叫時是通過位址傳遞的 和c語言一樣,值是單向傳遞,指標才能實現雙向傳遞 比如 coding utf 8 def f1 x,y z x y y xreturn za 1 b 2c f1 a,b print c,a,b 得到的結果是 3 12 從這裡可以看出...

python 根據不同引數呼叫不同的函式

有時候需要根據不同的情況呼叫不同的方法實現功能邏輯,有什麼優雅的方式可以實現麼?首先有乙個最原始的if else方式 parm a defa print a defb print b if parm a a elif parm b b 這樣的方式可以實現功能邏輯,但是略顯low,而且後續的擴充套件不...

python 根據不同引數呼叫不同的函式

有時候需要根據不同的情況呼叫不同的方法實現功能邏輯,有什麼優雅的方式可以實現麼?首先有乙個最原始的if else方式 parm a defa print a defb print b if parm a a elif parm b b 這樣的方式可以實現功能邏輯,但是略顯low,而且後續的擴充套件不...