iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >react新增加的生命周期是什么
  • 684
分享到

react新增加的生命周期是什么

2024-04-02 19:04:59 684人浏览 薄情痞子
摘要

这篇文章将为大家详细讲解有关React新增加的生命周期是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 新增加的生命周期有:1、getDe

这篇文章将为大家详细讲解有关React新增加的生命周期是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

新增加的生命周期有:1、getDerivedStateFromProps,用来控制props更新state的过程;2、getSnapshotBeforeUpdate,用于读取最新的DOM数据;3、componendDidCatch。

教程操作环境:windows7系统、react17.0.1版、Dell G3电脑。

学习React,生命周期很重要,我们了解完生命周期的各个组件,对写高性能组件会有很大的帮助.

React 生命周期分为三种状态 1. 初始化 2.更新 3.销毁

React 17 新增生命周期

一、废除的生命周期

  官网文档指出使用这些生命周期的代码会在未来版本的react中更容易产生bug,尤其是对于异步渲染的版本

  由于未来采用异步渲染机制,所以即将在17版本中去掉的生命周期钩子函数

  componentWillMount

  componentWillRecieveProps

  componentWIllUpdate

二、新增的生命周期

getDerivedStateFromProps(nextProps, prevState)

用于替换componentWillReceiveProps,可以用来控制 props 更新 state 的过程;它返回一个对象表示新的 state;如果不需要更新,返回 null 即可

在每次渲染之前都会调用,不管初始挂载还是后面的更新都会调用,这一点和componentWillReceiveProps不同(只有当父组件造成重新渲染时才调用

简单的理解就说从props中获取state,这个生命周期的功能实际上就是将传入的props映射到state上面

getDerivedStateFromProps是一个静态函数,也就是这个函数不能通过this访问到class的属性,也并不推荐直接访问属性。而是应该通过参数提供的nextProps以及prevState来进行判断,根据新传入的props来映射到state

如果props传入的内容不需要影响到你的state,那么就需要返回一个null,这个返回值是必须的,所以尽量将其写到函数的末尾

static getDerivedStateFromProps(nextProps, prevState) {
    const {type} = nextProps;
    // 当传入的type发生变化的时候,更新state
    if (type !== prevState.type) {
        return {
            type,
        };
    }
    // 否则,对于state不进行任何操作
    return null;
}

getSnapshotBeforeUpdate()

在最近的更改被提交到DOM元素前,使得组件可以在更改之前获得当前值,此生命周期返回的任意值都会传给componentDidUpdate()。

用于替换 componentWillUpdate,该函数会在update后 DOM 更新前被调用,用于读取最新的 DOM 数据,返回值将作为 componentDidUpdate 的第三个参数

在最新的渲染数据提交给DOM前会立即调用,它让你在组件的数据可能要改变之前获取他们

componendDidCatch(error, info)

如果一个组件定义了componentDidCatch生命周期,则他将成为一个错误边界(错误边界会捕捉渲染期间、在生命周期方法中和在它们之下整棵树的构造函数中的错误,

就像使用了try catch,不会将错误直接抛出了,保证应用的可用性)

三、基本使用

class A extends React.Component {
  // 用于初始化 state
  constructor() {}
  // 用于替换 `componentWillReceiveProps` ,该函数会在初始化和 `update` 时被调用
  // 因为该函数是静态函数,所以取不到 `this`
  // 如果需要对比 `prevProps` 需要单独在 `state` 中维护
  static getDerivedStateFromProps(nextProps, prevState) {}
  // 判断是否需要更新组件,多用于组件性能优化
  shouldComponentUpdate(nextProps, nextState) {}
  // 组件挂载后调用
  // 可以在该函数中进行请求或者订阅
  componentDidMount() {}
  // 用于获得最新的 DOM 数据
  getSnapshotBeforeUpdate() {}
  // 组件即将销毁
  // 可以在此处移除订阅,定时器等等
  componentWillUnmount() {}
  // 组件销毁后调用
  componentDidUnMount() {}
  // 组件更新后调用
  componentDidUpdate() {}
  // 渲染组件函数
  render() {}
}

关于“react新增加的生命周期是什么”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: react新增加的生命周期是什么

本文链接: https://www.lsjlt.com/news/94883.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • react新增加的生命周期是什么
    这篇文章将为大家详细讲解有关react新增加的生命周期是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 新增加的生命周期有:1、getDe...
    99+
    2022-10-19
  • React组件的生命周期是什么
    这篇文章主要讲解了“React组件的生命周期是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“React组件的生命周期是什么”吧!React生命周期1、初始化阶段componentDidM...
    99+
    2023-07-05
  • react新旧生命周期的区别有哪些
    本文小编为大家详细介绍“react新旧生命周期的区别有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“react新旧生命周期的区别有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新...
    99+
    2022-10-19
  • 微信APP生命周期及页面生命周期是什么
    本篇内容介绍了“微信APP生命周期及页面生命周期是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!小程序的启动流程我们画一个图来表示一下,...
    99+
    2023-06-30
  • vue生命周期是什么
    本篇内容介绍了“vue生命周期是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2022-10-19
  • laravel生命周期是什么
    Laravel的生命周期是指在处理一个HTTP请求时,从请求进入Laravel应用程序开始,到返回响应结束的整个过程。下面是Lara...
    99+
    2023-09-21
    laravel
  • thinkphp生命周期是什么
    ThinkPHP是一个基于PHP的开源框架,其生命周期指的是在一个请求到达服务器到返回响应的整个过程中,ThinkPHP框架在不同的...
    99+
    2023-08-24
    thinkphp
  • Springbean的生命周期是什么
    Spring Bean的生命周期可以分为以下几个阶段: 实例化(Instantiation):在容器启动时,Spring根据配置...
    99+
    2023-10-24
    Springbean
  • Vue的生命周期是什么
    本篇内容主要讲解“Vue的生命周期是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue的生命周期是什么”吧!生命周期生命周期的简单介绍生命周期又叫做:生命周期回调函数、生命周期函数、生命周...
    99+
    2023-06-29
  • Flutter的生命周期是什么
    今天小编给大家分享一下Flutter的生命周期是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一 这里看一下Statef...
    99+
    2023-07-06
  • android thread的生命周期是什么
    Android中的线程有以下几个生命周期:1. 新建状态(New):线程对象已经创建,但还没有调用start()方法。2. 就绪状态...
    99+
    2023-10-07
    android
  • vue中的生命周期是什么
    这篇文章给大家分享的是有关vue中的生命周期是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、什么是生命周期每一个组件都可能经历从创建,挂载,更新,卸载的过程。在这个过程中的某一个阶段,用于可能会想要添加一...
    99+
    2023-06-29
  • Spring Bean的生命周期是什么
    这篇“Spring Bean的生命周期是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Spring ...
    99+
    2023-07-05
  • Spring bean的生命周期是什么
    Spring bean的生命周期包括以下阶段:1. 实例化(Instantiation):在容器启动时,Spring根据配置信息或注...
    99+
    2023-08-24
    Spring bean
  • java servlet生命周期是什么
    Java Servlet的生命周期指的是一个Servlet从被创建到被销毁的整个过程。下面是Java Servlet的生命周期的几个...
    99+
    2023-09-20
    java servlet
  • mpvue页面预加载新增preLoad生命周期的方式有哪些
    这篇文章主要介绍mpvue页面预加载新增preLoad生命周期的方式有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!存在的必要性:mpvue开发微信小程序,在页面跳转到新页面的过...
    99+
    2022-10-19
  • react的生命周期函数怎么使用
    这篇文章主要介绍“react的生命周期函数怎么使用”,在日常操作中,相信很多人在react的生命周期函数怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”react的生命周期函数怎么使用”的疑惑有所帮助!...
    99+
    2023-07-04
  • Android Activity的生命周期与加载模式是什么
    这篇文章主要介绍了Android Activity的生命周期与加载模式是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Android Activity的生命周期与加载模式是什么文章都会有...
    99+
    2023-07-05
  • spring中bean的生命周期是什么
    在Spring中,Bean的生命周期包括以下几个阶段:1. 实例化:当Spring容器接收到请求时,根据配置文件或注解等方式,在内存...
    99+
    2023-09-27
    spring bean
  • Blazor组件的生命周期是什么
    今天小编给大家分享一下Blazor组件的生命周期是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。执行周期 SetPara...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作