useEffect的第二个参数[ ] WillUnMount

复制代码
function Index(){
    useEffect(()=>{
        console.log('userEffect=>来了老弟')
        return ()=>{
            //解绑副作用,但是只要状态变化,就会触发解绑
            console.log('老弟走了啊?Index')
        }
    },[])//只有数组里的参数状态改变时才执行,等于空的话,只有销毁时才执行
    return <h2>Jarsmine</h2>
}
复制代码

useEffect的第二个参数相当于类组件的生命周期销毁函数

复制代码
import {BrowserRouter,Route,Link} from 'react-router-dom';
import React,{useState, useEffect} from 'react';
function Index(){
    useEffect(()=>{
        console.log('userEffect=>来了老弟')
        return ()=>{
            //解绑副作用,但是只要状态变化,就会触发解绑
            console.log('老弟走了啊?Index')
        }
    },[])//只有数组里的参数状态改变时才执行,等于空的话,只有销毁时才执行
    return <h2>Jarsmine</h2>
}
function List(){
    useEffect(()=>{
        console.log('userEffect=>好嗨哦')
    })
    return <h2>List Page</h2>
}

  
 export default function RouterDome(){
    const [count,setCount]=useState(0)//数组解构
    useEffect(()=>{
        console.log(`useEffect=>You clicked ${count}times`)
        return()=>{
            console.log(`===============`)//解绑
        }
      },[count])//加空数组:销毁时才解绑,加count,count变化时解绑,
      //转页时不会出现解绑
  return (
    <div>
    <p>You clicked {count} times</p>
    <button onClick={()=>{setCount(count+1)}}>click me</button>
    <BrowserRouter>
        <ul>
            <li><Link to="/">首页</Link></li>
            <li><Link to="/list">列表 </Link></li>
        </ul>
        <Route path="/" exact component={Index}></Route>
        <Route path="/list/" exact component={List}></Route>
    </BrowserRouter>
  </div>
  )
   }
复制代码

 

posted @   SimoonJia  阅读(717)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示