React函數組件模擬生命周期(useEffect)


React Hooks提供React.useEffect來解決函數組件沒有生命周期的問題

React.useEffect(fn,?)第一個參數是特定實時機執行的回調函數,第二個參數是指依賴項

  1.模擬componentDidMount第一次渲染

useEffect(() => {
    console.log('');
}, []) // 第二個參數為空時只會在第一次渲染時執行

  2. 模擬componentDidUpdate

useEffect(() => {
    console.log('n變化了');
}, [n]) // 第二個參數為要監聽的數據

不傳第二個參數,則會在 state 的任意一個屬性改變時,組件每渲染一次,都會觸發該函數回調
useEffect(() => { console.log('任意屬性變化'); })

  3,模擬componentWillUnmount

通過函數里返回函數的方式

useEffect(() => {
    console.log('任意屬性變了');
    return () => {
        console.log('該組件要銷毀了');
    }
})

  useEffect返回值是一個函數,在組件卸載前執行,或每次副效應函數重新執行之前執行

注意:多個副效應


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM