react中的useEffect()的使用詳解
useEffect()是react中的hook函數(shù),作用是用于創(chuàng)建由渲染本身引起的操作,而不是事件的觸發(fā),比如Ajax請求,DOM的更改
首先useEffect()是個函數(shù),接受兩個參數(shù),第一個參數(shù)是一個方法,第二個參數(shù)是數(shù)組 稱為依賴項數(shù)組,可以沒有。第二個參數(shù)的不同會影響第一個參數(shù)方法的使用

依賴項數(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.沒有依賴項的時候 初始會觸發(fā) 組件更新會觸發(fā)
const [count,setCount] = useState(0)
// useEffect(()=>{
// console.log("副作用函數(shù)執(zhí)行與否");
// })
// 2.當依賴項為空數(shù)組的時候 只會在初始時觸發(fā)
// useEffect(()=>{
// console.log("副作用函數(shù)執(zhí)行 []");
// },[])
// 3.傳入特定的依賴項 初始時觸發(fā) 依賴項變化時觸發(fā)
useEffect(()=>{
console.log("副作用函數(shù)執(zhí)行 []");
},[count])
// 4.清除useEffect的副作用 通過在第一個參數(shù)函數(shù)中return一個函數(shù) 清除副作用
// 最常用的常見就是在組件卸載時自動執(zhí)行
const [show,setShow] = useState(true)
return (
<>
<div>useEffect的使用 根據(jù)依賴項的不同</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特征學習Form數(shù)據(jù)管理示例詳解
這篇文章主要為大家介紹了React特征學習Form數(shù)據(jù)管理示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-09-09
React如何使用錯誤邊界(Error Boundaries)捕獲組件錯誤
在 React 里,錯誤邊界就像是一個“小衛(wèi)士”,專門負責在組件出現(xiàn)錯誤時挺身而出,避免整個應用因為一個小錯誤就崩潰掉,下面小編就來為大家介紹一下如何利用它捕獲組件錯誤吧2025-03-03
react中的watch監(jiān)視屬性-useEffect介紹
這篇文章主要介紹了react中的watch監(jiān)視屬性-useEffect使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-09-09

