React Hooks学习篇-useEffect

本文介绍了React Hooks中的useEffect,它用于在函数组件中执行副作用操作。useEffect在组件挂载和更新时的行为类似于传统React生命周期的componentDidMount和componentDidUpdate。通过调整依赖数组,可以精确控制effect的执行时机,例如只在特定状态变更时执行。同时,展示了如何清除副作用,如定时器,以避免内存泄漏。这在实际开发中对于管理组件状态和资源清理至关重要。

Effect Hook 可以在函数组件中执行副作用操作.

const [name, setName] = useState('Koli');
const [count, setCount] = useState(4);
const [regions, setRegions] = useState(4);

  // Similar to componentDidMount and componentDidUpdate:
  useEffect(() => {
    // Update the document title using the browser API
    document.title = `You clicked ${count} times`;
  });

针对上述代码说明:
组件初始化会执行,相当于componentDidMount生命周期函数;
当只有要一个useState改变时,都会会执行,相当于componentDidUpdate更新的生命周期函数;

const [name, setName] = useState('Koli');
const [count, setCount] = useState(4);

  useEffect(() => {
    console.log(name)
  },[name]);

针对上述代码说明:
该effect只初始化执行一次,相当于componentDidMount生命周期函数;

const [name, setName] = useState('Koli');
const [count, setCount] = useState(4);

  useEffect(() => {
    console.log(name)
  },[name]);

针对上述代码说明:
组件初始化会执行,相当于componentDidMount生命周期函数;
当name的useState改变时,才会会执行,相当于componentDidUpdate更新的生命周期函数;
当count的useState改变时,不会执行;

const [name, setName] = useState('Koli');
const [count, setCount] = useState(4);

  useEffect(() => {
    console.log(name,count)
  },[name,count]);

针对上述代码说明:
组件初始化会执行,相当于componentDidMount生命周期函数;
当name或者count的useState改变时,才会会执行,相当于componentDidUpdate更新的生命周期函数;

函数组件需要清除effect时,比如说订阅消息的,定时器的;

useEffect(() => {
	let timer = setTimeOut(() => {
		console.log('定时器时需要清除的..')
	},1000)
return () => {
	clearTimeout(timer );
}
},[])

针对上述的说明:
在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值