您的位置:首页 > 健康 > 养生 > 阿里云申请域名_福州专业制作网站_百度电脑版登录网站_西安疫情最新数据消息5分钟前

阿里云申请域名_福州专业制作网站_百度电脑版登录网站_西安疫情最新数据消息5分钟前

2024/10/7 8:24:32 来源:https://blog.csdn.net/weixin_44109827/article/details/142535066  浏览:    关键词:阿里云申请域名_福州专业制作网站_百度电脑版登录网站_西安疫情最新数据消息5分钟前
阿里云申请域名_福州专业制作网站_百度电脑版登录网站_西安疫情最新数据消息5分钟前

1. 基本介绍

  1. 概念
    在这里插入图片描述
  2. 语法
    在这里插入图片描述
    副作用函数+依赖项数组(空数组时,只会在组件渲染完毕后执行一次副作用函数)

2. 使用

import { useEffect, useState } from 'react'function App() {const [value, setValue] = useState(0)useEffect(() => {console.log('组件渲染完毕')}, [])useEffect(() => {console.log('value的值发生了变化')}, [value])return (<div className="App"><button onClick={() => {setValue(value+1)}}>click me, after:{value}</button></div>);
}export default App;

在这里插入图片描述

1.3 依赖项参数说明

在这里插入图片描述

import { useEffect, useState } from 'react'function App() {const [value, setValue] = useState(0)const [count, setCount] = useState(100)useEffect(() => {console.log('组件渲染完毕')}, [])useEffect(() => {console.log('value的值发生了变化')}, [value])useEffect(() => {console.log('组件初始化 或者 组件更新(value、count变化,组件都会更新)')})return (<div className="App"><button onClick={() => {setValue(value+1)}}>plus, after:{value}</button><button onClick={() => {setCount(count-1)}}>minus, after:{count}</button></div>);
}export default App;

在这里插入图片描述

1.4 清除副作用

概念:
在这里插入图片描述
执行时机:组件卸载

import { useEffect, useState } from 'react'
function Son() {useEffect(() => {const timer = setInterval(() => {console.log('定时器运行中...')}, 1000)return () => {clearInterval(timer)}}, [])return <div>子组件</div>
}function App() {// 通过控制isShow状态变量来模拟子组件的销毁const [isShow, setIsShow] = useState(true)return (<div className="App">{isShow && <Son />}<button onClick={() => { setIsShow(false) }}>点击我,隐藏子组件</button></div>);
}export default App;

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com