react中的useEffect()的使用詳解
useEffect()是react中的hook函數(shù),作用是用于創(chuàng)建由渲染本身引起的操作,而不是事件的觸發(fā),比如Ajax請求,DOM的更改
首先useEffect()是個函數(shù),接受兩個參數(shù),第一個參數(shù)是一個方法,第二個參數(shù)是數(shù)組 稱為依賴項(xiàng)數(shù)組,可以沒有。第二個參數(shù)的不同會影響第一個參數(shù)方法的使用
依賴項(xiàng)數(shù)組不同的區(qū)別
另外還有一種情況就是清除useEffect()的副作用,直接在第一個參數(shù)函數(shù)里面寫一個return一個函數(shù),就會在組件卸載的時候自動清理
import { useEffect, useState } from "react" function Son(){ // 開啟一個定時器 useEffect(()=>{ const timer= setInterval(()=>{ console.log("定時器"); },1000) return ()=>{ clearInterval(timer) } },[]) return ( <> <div>這是 son組件 </div> </> ) } function App(){ // 1.沒有依賴項(xiàng)的時候 初始會觸發(fā) 組件更新會觸發(fā) const [count,setCount] = useState(0) // useEffect(()=>{ // console.log("副作用函數(shù)執(zhí)行與否"); // }) // 2.當(dāng)依賴項(xiàng)為空數(shù)組的時候 只會在初始時觸發(fā) // useEffect(()=>{ // console.log("副作用函數(shù)執(zhí)行 []"); // },[]) // 3.傳入特定的依賴項(xiàng) 初始時觸發(fā) 依賴項(xiàng)變化時觸發(fā) useEffect(()=>{ console.log("副作用函數(shù)執(zhí)行 []"); },[count]) // 4.清除useEffect的副作用 通過在第一個參數(shù)函數(shù)中return一個函數(shù) 清除副作用 // 最常用的常見就是在組件卸載時自動執(zhí)行 const [show,setShow] = useState(true) return ( <> <div>useEffect的使用 根據(jù)依賴項(xiàng)的不同</div> <button onClick={()=>setCount(count+1)}>{count}</button> <div> {show&&<Son/>} <button onClick={()=>setShow(false)}>卸載son組件</button> </div> </> ) } export default App
到此這篇關(guān)于react中的useEffect()的使用的文章就介紹到這了,更多相關(guān)react useEffect()使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
react-native消息推送實(shí)現(xiàn)方式
這篇文章主要介紹了react-native消息推送實(shí)現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02react router4+redux實(shí)現(xiàn)路由權(quán)限控制的方法
本篇文章主要介紹了react router4+redux實(shí)現(xiàn)路由權(quán)限控制的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-05-05