React生命周期函数图解介绍

 更新时间:2022年11月30日 10:21:36   作者:未及545  
生命周期函数指在某一时刻组件会自动调用并执行的函数。React每个类组件都包含生命周期方法,以便于在运行过程中特定的阶段执行这些方法

生命周期的三个阶段

1.创建时(挂载阶段)

①执行时机:组件创建时(页面加载时)

②执行顺序:constructor()->render()->componentDidMount()

import React, { Component } from 'react'
export default class extends Component {
  constructor(){
    super()
    console.log("constructor");//第一个打印
  }
  componentDidMount(){
    console.log("componentDidMount");//第三个
  }
  render() {
    console.log("render");//第二个
    return (
      <div></div>
    )
  }
}

2.更新时(更新阶段)

①执行时机:1.setState()2.forceUpdate()3.组件接收到新的props,这三者任意一种变化,组件就会重新渲染

3.卸载时(卸载阶段)

①执行时机:组件从页面中消失

不常用生命周期函数

1.static getDerivedStatesFromProps( nextProps, pervState) 静态方法生命周期函数

①执行时机:会在调用render方法之前调用,并且在初始挂载、更新时都会被调用。它应返回一个对象来更新state,如果返回的是null则不更新任何内容。

②使用静态方法,可以强制开发者在render之前只做无副作用的操作,而且能做的操作局限在props和state决定新的state而已。

2.shouldCompontentUpdate(nextProps, nextState) 是否要更新组件时触发的函数

①判断是否需要更新,主要用来优化性能,调用this.forceUpdate会无视这个钩子,强制更新。

可以通过比较this.props和nextProps、this.state和nextState来判断状态是否发生改变;状态发生变化,组件会进入渲染流程,renturn false可以阻止组件更新

②父组件的重新渲染会导致组件重新渲染。可以通过此钩子函数限制子组件是否需要更新。

3.getSnapshotBeforeUpdate(prevProps, prevState) 保存状态快照

①主要用来代替componentWillUpdate生命周期函数。

②执行时机:会在最终的render之前被调用,它与componentDidUpdate函数中的元素状态是一致的

到此这篇关于React生命周期函数图解介绍的文章就介绍到这了,更多相关React生命周期函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • React事件绑定的方式详解

    React事件绑定的方式详解

    react事件绑定时。this并不会指向当前DOM元素。往往使用bind来改变this指向,今天通过本文给大家介绍React事件绑定的方式,感兴趣的朋友
    2021-07-07
  • 深入理解React Native原生模块与JS模块通信的几种方式

    深入理解React Native原生模块与JS模块通信的几种方式

    本篇文章主要介绍了深入理解React Native原生模块与JS模块通信的几种方式,具有一定的参考价值,有兴趣的可以了解一下
    2017-07-07
  • React初始化渲染过程示例详解

    React初始化渲染过程示例详解

    这篇文章主要为大家介绍了React初始化渲染过程示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • 在React项目中使用iframe嵌入一个网站的步骤

    在React项目中使用iframe嵌入一个网站的步骤

    本文介绍了如何在React项目中通过iframe嵌入百度网站的步骤,首先创建一个Baidu.js组件,并在该组件中设置iframe来加载百度,然后在App.js中引入并使用Baidu组件,还讨论了因安全策略可能无法加载某些网站的问题,需要的朋友可以参考下
    2024-09-09
  • React实现antdM的级联菜单实例

    React实现antdM的级联菜单实例

    这篇文章主要为大家介绍了React实现antdM的级联菜单实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • React工作流程及Error Boundaries实现过程讲解

    React工作流程及Error Boundaries实现过程讲解

    这篇文章主要介绍了React工作流程及Error Boundaries实现过程讲解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-02-02
  • React中使用外部样式的3种方式(小结)

    React中使用外部样式的3种方式(小结)

    这篇文章主要介绍了React中使用外部样式的3种方式(小结),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • react-router-domV6版本改版踩坑记录

    react-router-domV6版本改版踩坑记录

    这篇文章主要介绍了react-router-domV6版本改版踩坑记录,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • React如何通过@craco/craco代理接口

    React如何通过@craco/craco代理接口

    这篇文章主要介绍了React如何通过@craco/craco代理接口问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10
  • React如何使用refresh_token实现无感刷新页面

    React如何使用refresh_token实现无感刷新页面

    本文主要介绍了React如何使用refresh_token实现无感刷新页面,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04

最新评论