react hooks 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

}

},[])

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值