中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

react中hooks的使用方法

發布時間:2020-10-28 16:27:09 來源:億速云 閱讀:156 作者:Leah 欄目:開發技術

這期內容當中小編將會給大家帶來有關react中hooks的使用方法,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

hooks的作用

它改變了原始的React類的開發方式,改用了函數形式;它改變了復雜的狀態操作形式,讓程序員用起來更輕松;它改變了一個狀態組件的復用性,讓組件的復用性大大增加。

useState

// 聲明狀態
const [ count , setCount ] = useState(0);

// 使用狀態
<p>You clicked {count} times</p>
<button onClick={()=>{setCount(count+1)}}>click me</button>

useEffect

一個參數

useEffect(()=>{
 console.log("首次渲染與更新")
})

模擬:
componentDidMount componentDidUpdate

一個參數帶return

useEffect(()=>{
 console.log("首次渲染與更新")
return ()=>{console.log(首次卸載)}
})

 模擬:

  • componentDidMount
  •  componentDidUpdate

return

  •  componetWillUnmount
  •  componentDidUpdate

第二個參數是空數組,return

useEffect(()=>{
 console.log("首次渲染與更新")
return ()=>{console.log(首次卸載)}
},[])

相對于生命周期的componentDidMount和componetWillUnmount

第二個參數是具體的值

useEffect(()=>{
 console.log("首次渲染與更新")
return ()=>{console.log(首次卸載)}
},[num])

模擬

  • componentDidMount
  • componentDidUpdate(update只對num有用)

return

  •  componetWillUnmount
  •  componentDidUpdate(update只對num有用)

useRef

const inp = useRef(null)
<input ref={inp}>
//調用
inp.current.value

自定義hook

定義:const [size,setSize] = useState({height:xxx,width:xxx})

處理:

const onResize = ()=>{setSize({width:xxx,height:xxx})}
 useEffect(()=>{
監聽事件 window.addEventListener(“resize”,onResize)
 return 移除監聽()=>window.removeEventListener(“resize”,onResize)
 },[])

返回 return size

使用 const size = useWinSize()

上述就是小編為大家分享的react中hooks的使用方法了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

崇州市| 北流市| 阿巴嘎旗| 金秀| 斗六市| 察哈| 浮梁县| 南皮县| 金川县| 大庆市| 嘉义市| 乾安县| 苍梧县| 荥经县| 怀柔区| 灯塔市| 郓城县| 德兴市| 吴川市| 安阳市| 利津县| 崇阳县| 光泽县| 武宁县| 交口县| 石景山区| 岳普湖县| 金阳县| 永顺县| 讷河市| 固原市| 许昌市| 运城市| 建水县| 海伦市| 吐鲁番市| 郸城县| 河北区| 连州市| 定兴县| 邵东县|