本文共 924 字,大约阅读时间需要 3 分钟。
useEffect使用时有以下4种情况
//1 useEffect(()=>{ console.log(props.number) setNumber(props.number) }) //所有更新都执行
//2 useEffect(()=>{ console.log(props) },[]) //仅在挂载和卸载的时候执行
//3 useEffect(()=>{ console.log(count) },[count]) //count更新时执行
//4const Asynchronous : React.FC=({ number})=>{ const [number2,setNumber2] = useState(number); useEffect(()=>{ console.log(number) setNumber2(number) },[number,setNumber2]) //监听props对象number的更改 //setNumber2是useState返回的setter,所以不会在每次渲染时重新创建它,因此effect只会运行一次 }
5、传递props的对象 传递的useState返回的setter
6、return 方法
const timer = setInterval(() => { setCount(count + 1) }, 1000) // useEffect方法的第一个参数是一个函数,函数可以return一个方法,这个方法就是在组件销毁的时候会被调用 useEffect(() => { return () => { clearInterval(timer) } }, [])
转载地址:http://ybqii.baihongyu.com/