react hooks useEffect

本文主要介绍了React中useEffect的使用。包括其与生命周期的统一,通过数组控制执行时机,如空数组只执行一次,数组有长度在数组改变时执行,不填写则每次都执行。还展示了用useEffect处理数据请求,同时说明了不同操作是否需要清理及清理方式。

数据获取订阅 手动修改react dom

didMount didUpdate willUnMount 生命周期的统一

useEffect(callback,array)

// 数组控制useEffect什么时候执行

import {useState,useEffect}from 'react'

const Example = (props)=>{

const [count,setCount]=useState(0);

useEffect(()=>{

document.title =`你点击了${count}次`

//手动修改react dom

 

},[])

return (

<div>

<button onClick={()=>setCount(count+1)}></button>

</div>

)

}

callback 中可以返回一个函数 清理工作 相当于unMount

卸载前的处理

1空数组 只会执行一次 第一次render执行 didMount

2数组有长度 会在数组改变的时候执行 。 didUpdate . [count] 数组中存我们的数据state 是上层组件流入的数据props

3数组不填写 会每一次都执行

可以同时使用多个useEffect

用来获取数据和更新数据的useEffect

useEffect 处理数据请求:

const fetchUser = async()=>{

const result = await fetch("./user.json").then(res=>res.json())

setUser(result.user)

}

useEffect(()=>{

fetchUser()

},[])

// 只执行一次

网络请求 dom修改 日志记录 是不需要清理的

订阅 取消订阅 事件舰艇 和取消事件监听需要清理

1.useEffect会在每次执行之前都会自动清理之前的effect

2.effect 中可以返回一个函数用于清理工作

手动清理

useEffect(()=>{

return ()=>{

// 组件卸载的时候执行

// 手动清理effect

}

},[])

 

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值