麻豆黑色丝袜jk制服福利网站-麻豆精品传媒视频观看-麻豆精品传媒一二三区在线视频-麻豆精选传媒4区2021-在线视频99-在线视频a

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  應聘面試  >  html5面試題  > React Hooks各種函數介紹

React Hooks各種函數介紹

來源:千鋒教育
發布人:syq
時間: 2022-11-16 16:58:37 1668589117

  - useState: useState是用于聲明一個狀態變量的,用于為函數組件引入狀態. useState 只接收一個參數,這個參數可以是數字、字符串、對象等任意值,用于初始化聲明的狀態變量。

  也可以是一個返回初始值的函數,最好是函數,可在渲染時減少不必要的計算。返回一個長度為2的讀寫數組,數組的第一項是定義的狀態變量本身,第二項是一個用來更新該狀態變量的函數,約定是set前綴加上狀態的變量名. useState Hook 中返回的 setState,并不會幫我們自動合并對象狀態的屬性;

React Hooks各種函數

  setState中接收的對象參數如果地址沒變的話會被React認為沒有改變,因此不會引起視圖的更新

  - useReducer: useReducer 是 useState 的升級版。

  在useState中返回的寫接口中,我們只能傳遞最終的結果,在setN的內部也只是簡單的賦值操作。 創建初始狀態值initialState, 創建包含所有操作的 reducer(state, action) 函數,每種操作類型均返回新的 state 值 根據 initialState 和 reducer 使用 const [state, dispatch] = useReducer(reducer, initialState) 得到讀寫API調用寫接口,傳遞的參數均掛在 action 對象上

  - useContext: context是上下文的意思,上下文是局部的全局變量這個局部的范圍由開發者自己指

  - useEffect: effect是副作用的意思,對環境的改變就是副作用。副作用是函數式編程里的一個概念在React中,useEffect就是在每次render后執行的操作,相當于 afterRender, 接收的第一個參數是回調函數,第二個參數是回調時機。可用在函數組件中模擬生命周期。 如果同時出現多個 useEffect ,會按出現順序依次執行

  - useLayoutEffect useEffect總是在瀏覽器渲染完視圖過后才執行,如果 useEffect 里面的回調函數有對 DOM 視圖的操作,則會出現一開始是初始化的視圖,后來執行了 useEffect里的回調后立馬改變了視圖的某一部分,會出現一個閃爍的狀態。 為了避免這種閃爍,可以將副作用的回調函數提前到瀏覽器渲染視圖的前面執行,當還沒有將 DOM掛載到頁面顯示前執行Effect中對DOM進行操作的回調函數,則在瀏覽器渲染到頁面后不會出現閃爍的狀態。layout 是視圖的意思,useLayoutEffect 就是在視圖顯示出來前執行的副作用。useEffect 和 useLayoutEffect就是執行的時間點不同,useLayoutEffect是在瀏覽器渲染前執行,useEffect 是在瀏覽器渲染后執行。

  但二者都是在render函數執行過程中運行,useEffect是在render完畢后執行,useLayoutEffect是在render完畢前(視圖還沒渲染到瀏覽器頁面上)執行。 因此 useLayoutEffect總是在useEffect前執行。 一般情況下,如果Effect中的回調函數中涉及到 DOM 視圖的改變,就應該用 useLayoutEffect,如果沒有,則用 useEffect。

  - useRef useRef Hook是用來定義一個在組件不斷render時保持不變的變量。組件每次 render后都會返回一個虛擬DOM,組件內對應的變量都只屬于那個時刻的虛擬 DOM。useRef Hook就提供了創建貫穿整個虛擬DOM更新歷史的屬于這個組件的局部的全局變量。為了確保每次render后使用useRef獲得的變量都能是之前的同一個變量,只能使用引用做到,因此,useRef 就將這個局部的全局變量的值存儲到了一個對象中,屬性名為:current useRef的current變化時不會自動render useRef可以將創建的 Refs對象通過ref屬性的方式引用到DOM節點或者React實例。

  - useCallback是將某個函數“放入到react底層原型鏈上,并返回該函數的索引”,而useMemo是將某個函數返回值“放入到react底層原型鏈上,并返回該返回值的索引”。一個是針對函數,一個是針對函數返回值。

  - useImperativeHandle: useImperativeHandle可以讓父組件獲取并執行子組件內某些自定義函數(方法)。本質上其實是子組件將自己內部的函數(方法)通過useImperativeHandle添加到父組件中useRef定義的對象中。

  - useMemo useMemo可以將某些函數的計算結果(返回值)掛載到react底層原型鏈上,并返回該函數返回值的索引。

  當組件重新渲染時,如果useMemo依賴的數據變量未發生變化,那么直接使用原型鏈上保存的該函數計算結果,跳過本次無意義的重新計算,達到提高組件性能的目的。

tags:
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
主站蜘蛛池模板: 在线观看国产小屁孩cao大人| 西西人体44rtwww高清大但| 成年女人免费v片| 91精品国产91久久久久久| 一级黄影| 在线观看中文字幕码| 中文理论片| 色妞色妞| 亚洲视频免费看| 国产精品久久久| 粗大的内捧猛烈进出视频| 免费人成在线观看网站| 最新国产精品亚洲| 亚洲伊人色欲综合网| 三级极精品电影| 国产美女无遮挡免费视频| 国产真实乱了在线播放| 又黄又爽视频好爽视频| www.henhenai| 国产日韩精品欧美一区| 亚洲午夜一区二区三区| 悠悠色影院| 麻豆精品不卡国产免费看 | yw在线观看成人免费| 东北女人奶大毛多水多| 亚洲另类小说图片| 欧美日韩在线视频不卡一区二区三区 | 成人理论电影在线观看| 夜夜春宵伴娇全文阅读| 韩国午夜理伦三级2020韩| 欧美极品欧美日韩| 韩国v欧美v亚洲v日本v| 高龄五十路中出| 星空无限传媒在线观看| 亚洲欧美国产另类视频| 国产又色又爽在线观看| 自拍欧美亚洲| 韩国三级电影网| 国产精品亚洲片在线花蝴蝶| 一本久久精品一区二区| 人体大胆做受免费视频|