在React的函数组件中,useEffect的作用其实也对标了类组件中的生命周期,它的四种使用格式也与生命周期的四种钩子函数形成着对应关系。

使用格式一:不带参数的情况

执行时机:(1)初始执行 (2)每次页面更新之后都要执行

    useEffect( () => {//执行函数})

对应关系:componentDidMount + componentDidUpdate

使用格式二:带第二个参数,参数为空数组

执行时机:只执行第一次(初始执行)

    useEffect( () => {//执行函数}, [] )

对应关系:componentDidMount

使用场景:事件绑定、发起ajax请求

使用格式三:带第二个参数,并且指定了依赖项

执行时机:只执行第一次(初始执行)

    useEffect( () => {//执行函数}, [] )

对应关系:componentDidMount

使用场景:事件绑定、发起ajax请求

使用格式四:依赖项为空,没有具体的副作用函数.但是有副作用函数的清理函数.

执行时机:组件销毁时

    useEffect( () => {return () => { 清理函数 }}, [] )

对应关系:componentWillUnMount

使用场景:组件销毁时,清除遗留的事件绑定和定时器.

React中useEffect与生命周期钩子函数的对应关系相关推荐

  1. 请列举出3个Vue中常用的生命周期钩子函数?

    created: 实例已经创建完成之后调用,在这一步,实例已经完成数据观测, 属性和方法的运算, watch/event事件回调. 然而, 挂载阶段还没有开始, $el属性目前还不可见 mounted ...

  2. React 生命周期 钩子函数

    React15 挂载过程 // 完成了React数据的初始化. props.state constructor() // 组件已经完成初始化数据,但是还未渲染DOM时执行的逻辑 componentWi ...

  3. uni-app中的生命周期钩子函数

    1.应用级(App)生命周期钩子函数--App.vue -- 类似于小程序 onLaunch:应用启动了,每次运行只能执行一次 onShow:应用再次显示出来,每次显示出来都会调用 onHide:应用 ...

  4. 详解Vue八大生命周期钩子函数

    摘要:Vue为生命周期中的每个状态都设置了钩子函数(监听函数) .每当Vue实例处于不同的生命周期时,对应的函数就会被触发调用. 本文分享自华为云社区<一文带你弄懂Vue八大生命周期钩子函数&g ...

  5. 不来看看这些 VUE 的生命周期钩子函数? | 原力计划

    作者 | huangfuyk 责编 | 王晓曼 出品 | CSDN 博客 VUE的生命周期钩子函数:就是指在一个组件从创建到销毁的过程自动执行的函数,包含组件的变化.可以分为:创建.挂载.更新.销毁四 ...

  6. 实战 Vue 之生命周期钩子函数执行顺序

    实战 Vue 之生命周期钩子函数执行顺序 生命周期钩子函数 父组件与子组件执行顺序 生命周期钩子函数 beforeCreate:实例刚被创建出来,data 数据和 methods 方法还未被初始化,不 ...

  7. vue的组件/data的参数/组件传值/插槽/侦听器/生命周期钩子函数

    目录 组件结构 组件的命名规则: 组件的data参数 <font color='red'> 组件的父子传值prop(通信) <font color='red'>组件的子--&g ...

  8. Vue3 生命周期钩子函数

    一.Vue3生命周期钩子 setup() : 开始创建组件之前,在 beforeCreate 和 created 之前执行,创建的是 data 和 method onBeforeMount() : 组 ...

  9. vue生命周期钩子函数的正确使用方式

    对于vue生命周期我们还是要先了解清楚,因为不同的生命期用不同的钩子函数,先上图: 遇到的一个问题 在我的项目中,常用的生命周期钩子函数一直都是mounted,对于大部分情况,都是屡试不爽.捷报频传~ ...

  10. mounted钩子函数_vue生命周期钩子函数的正确使用方式

    先上图 vue的生命周期 遇到的一个问题 在我的项目中,常用的生命周期钩子函数一直都是mounted,对于大部分情况,都是屡试不爽.捷报频传~ 但是在前几天却遭遇了一个意外,我在mounted中获取后 ...

最新文章

  1. C++默认构造函数的一点说明
  2. ROS在类中发布和接受消息(自定义消息)
  3. java midlet 是什么_编译JAVA游戏,MIDlet出错,急求大家帮助
  4. CentOS7安装Java,java高级面试笔试题
  5. LINUX的文件链接,管道和用户组
  6. F2-网络模式相关命令
  7. Yosemite上手动增加基于POP3协议的QQ邮箱账记
  8. 【语音识别】基于matlab GUI HMM 1~9数字语音识别(带面板)【含Matlab源码 1393期】
  9. PS CS5制作1寸照片
  10. OpenCV:图像检索
  11. 跟着Nature Communications学作图--渐变火山图
  12. 为什么郭台铭才是夏普的最佳归宿?
  13. Windows 启动jar程序
  14. nltk词性标注的涵义
  15. 【深度访问】Cocos2d-JS精品《航海王启航》:我们是要成为游戏王的团队
  16. 时序数据到底是什么,为什么我们需要时序数据库?
  17. 用python进行简单的excel表格分析
  18. [转]C语言图形编程(三) -绘图函数②
  19. 《CCIE路由和交换认证考试指南(第5版) (第1卷)》——1.5节SPAN、RSPAN及ERSPAN...
  20. c语言程序 x是什么意思,x(-x)是什么意思

热门文章

  1. 微信公众号授权H5页面
  2. 解决MAC用HDMI连接显示器就没声音问题
  3. linux内核网络协议栈学习笔记:关于GRO/GSO/LRO/TSO等patch的分析和测
  4. 数组除重和应用随机数进行随机点名
  5. 手机邮箱如何申请注册?163邮箱申请哪个好?
  6. 判断单链表是否中心对称算法
  7. PDF页面旋转怎么操作
  8. 通过几种方式来查看windows vista的激活状态
  9. 电脑卡住了怎么保存excel_win7系统遇到死机没及时保存excel文件该怎么办
  10. 【校内互侧】ZYF loves binary (dp)