千鋒教育web前端高頻面試題視頻教程,kerwin大話前端面試秘籍(附答案)

hooks的使用:
React中的Hooks是一種新的特性,它們允許我們無需編寫類組件(class)的情況下,使用狀態(tài)、生命周期等其他React特性。(名字都以use開頭)
Hooks提供了一系列的鉤子函數(shù),包括useState、useEffect、useContext等,這些函數(shù)可以在函數(shù)組件中直接使用。
1、useState:創(chuàng)建狀態(tài)
以函數(shù)形式創(chuàng)建,接收一個參數(shù)作為初始值,返回一個數(shù)組,數(shù)組中有兩個值:第一個為狀態(tài),第二個為改變該狀態(tài)的函數(shù)。
2、useEffect:拿到模型中的值去渲染視圖,會在瀏覽器渲染繪制結(jié)束后執(zhí)行
接收兩個參數(shù),第一個參數(shù)為一個邏輯處理函數(shù);第二個參數(shù)可選,為一個數(shù)組里面存放的為依賴的參數(shù)
注:第二個參數(shù)可以不傳,但會造成每次渲染都會運(yùn)行useEffect
3、useRef:返回一個可變的ref對象,可以用來獲取元素或組件實例,他們進(jìn)行一些操作。
注:獲取后進(jìn)行操作與createRef一樣,使用inputRef.current形式
4、useMemo:使用來做緩存用的,只有當(dāng)一個依賴項改變的時候才會發(fā)生變化,否則拿緩存的值,就不用在每次渲染的時候再做計算,以到達(dá)優(yōu)化的效果(與vue中的計算屬性類似)
傳入兩個參數(shù),與useEffect相似,第一個參數(shù)為一個邏輯處理函數(shù);第二個參數(shù),為一個數(shù)組里面存放的為依賴的參數(shù)
5、useContext:實現(xiàn)跨級組件傳值,在Context.Provider寫要傳給子孫組件的值,在子孫組件中用useContext接收傳遞的值。如: const {money,hobby} = useContext(Context)
6、useLayoutEffect:是在 DOM 更新完成后,瀏覽器繪制之前執(zhí)行。在react完成DOM更新后馬上同步調(diào)用的代碼,所以會阻塞頁面渲染。
7、useCallback:useCallBack與useMemo類似,會在依賴不變的情況下不返回新的函數(shù)地址而返回舊的函數(shù)地址。不論是否使用useCallBack都無法阻止組件render時函數(shù)的重新創(chuàng)建
傳入的參數(shù)也為兩個,第一個參數(shù)為一個邏輯處理函數(shù);第二個參數(shù),為一個數(shù)組里面存放的為依賴的參數(shù),對傳過來的函數(shù)進(jìn)行對比優(yōu)化,返回值為一個函數(shù)。