react生命周期方法有哪些?

React 16.3+

getDerivedStateFromProps:在调用render()之前调用,并在每次渲染时调用。需要使用派生状态的情况是很罕见的

componentDidMount:首次渲染后调用,所有的ajax请求、DOM或状态更新、设置事件监听器都应该在此处发生。

ShouldComponentUpdate:确定组件是否应该更新。默认情况下,它返回true。如果你确定在更新状态或属性后不需要渲染组件,则可以返回false值。它是一个提高性能的好地方,因为它允许你在组件接收新属性时阻止重新渲染。

getSnapshotBeforeUpdate:在最新的渲染输出提交给DOM前将会立即调用,这对于从DOM捕获信息(如:滚动位置)很有用。

componentDidUpdate:它主要用于更新DOM以响应prop或state更改。如果shouldComponentUpdate()返回falsse,则不会触发。

componentWillUnmount:当一个组件被从DOM中移除时,该方法被调用,取消网络请求或者移除与该组件相关的事件监听程序等应该在这里进行。

React 16.3

componentWillMount:在组件render()前执行,用于根组件中的应用程序级别配置。应该避免在该方法中引入任何的副作用或订阅。该方法在整个组件生命周明只会被调用一次,所以可以利用该方法做些组件内部的初始化工作,这个是在render方法调用前可修改state的最后一次机会。

componentDidMount:首次渲染后调用,所有的ajax请求、DOM或状态更新、设置事件监听器都应该在此处发生。如果嵌套了子组件,子组件会比父组件优先渲染。

componentWillReceiveProps:在组件接收到新属性前调用,若需要更新状态响应属性改变,需要对比this.props和nextProps并在该方法中使用this.setState()处理状态。

shouldComponentUpdate:确定组件是否应该更新。默认情况下,它返回true。如果你确定在更新状态或属性后不需要渲染组件,则可以返回false值。它是一个提高性能的好地方,因为它允许你在组件接收新属性时阻止重新渲染。

componentWillUpdate:当shouldComponentUpdate返回true后重新渲染组件之前执行,注意这里不能调用this.setState()。

componentDidUpdate:它主要用于更新DOM以响应prop或state更改。如果shouldComponentUpdate()返回falsse,则不会触发。

componentWillUnmount:当一个组件被从DOM中移除时,该方法被调用,取消网络请求或者移除与该组件相关的事件监听程序等应该在这里进行。

react生命周期方法有哪些?的更多相关文章

  1. react生命周期方法

    Mounting阶段,当一个组件的实例被创建并插入到DOM中时,下面这些函数会被调用: constructor() componentWillMount:组件即将被渲染到页面上,render之前最后一 ...

  2. react篇章-React State(状态)-将生命周期方法添加到类中

    将生命周期方法添加到类中 在具有许多组件的应用程序中,在销毁时释放组件所占用的资源非常重要. 每当 Clock 组件第一次加载到 DOM 中的时候,我们都想生成定时器,这在 React 中被称为挂载. ...

  3. React 组件的生命周期方法

    React 组件的生命周期方法 按渲染顺序: 1: componentWillMount() – 在渲染之前执行,在客户端和服务器端都会执行. 2: componentDidMount() – 仅在第 ...

  4. React生命周期浅析

    引言 关于React的生命周期API,官网,有着详细说明.但在实际写代码的过程中,这些说明不能解决所有的疑惑. 所以我列举了一些编码中常见用例,供大家参考. 示例代码如下 /* use case 1. ...

  5. React生命周期详解

    React生命周期图解: 一.旧版图解: 二.新版图解: 从图中,我们可以清楚知道React的生命周期分为三个部分:  实例化.存在期和销毁时. 旧版生命周期如果要开启async rendering, ...

  6. 22.1 、react生命周期(一)

    在每个react组件中都有以下几个生命周期方法~我们需要在不同阶段进行讨论 组件生命周期概述 1.初始化 在组件初始化阶段会执行 constructor static getDerivedStateF ...

  7. react复习总结(2)--react生命周期和组件通信

    这是react项目复习总结第二讲, 第一讲:https://www.cnblogs.com/wuhairui/p/10367620.html 首先我们来学习下react的生命周期(钩子)函数. 什么是 ...

  8. React生命周期执行顺序详解

    文章内容转载于https://www.cnblogs.com/faith3/p/9216165.html 一.组件生命周期的执行次数是什么样子的??? 只执行一次: constructor.compo ...

  9. react生命周期es6

    基本函数有 import React from 'react' export default class MyClass extends React.Component { constructor(p ...

随机推荐

  1. gulp常用插件之gulp-rev-css-url使用

    更多gulp常用插件使用请访问:gulp常用插件汇总 gulp-rev-css-url这是一款用于在gulp-rev之后覆盖js.css文件中的URL进行替换. 更多使用文档请点击访问gulp-rev ...

  2. 安全 - 内容安全策略(CSP)(未完)

    威胁 跨站脚本攻击(Cross-site scripting) 跨站脚本攻击Cross-site scripting (XSS)是一种安全漏洞,攻击者可以利用这种漏洞在网站上注入恶意的客户端代码. 攻 ...

  3. Python标准库之re模块

    re模块用于正则表达式. 正则表达式在线测试:http://c.runoob.com/front-end/854 正则表达式元字符可以参考:https://www.w3cschool.cn/zheng ...

  4. Go-结构体,结构体指针和方法

    https://cloud.tencent.com/developer/article/1482382 4.1.结构体 结构体:讲一个或多个变量组合到一起形成新的类型,这个类型就是结构体,结构体是值类 ...

  5. 4 Values whose Sum is 0 UVA 1152

    题目链接:https://vjudge.net/problem/UVA-1152 这题题意就是在四个集合内.每个集合分别里挑一个数a,b,c,d,求a+b+c+d=0有多少种选法. 暴力的话就是四重循 ...

  6. AntDesign(React)学习-6 Menu展示数据

    1.官方文档请查看https://ant.design/components/menu-cn/antPro自带的菜单功能很强大,但是太复杂了,感觉大部分功能都用不上,下面实现一个简单从后台动态获取菜单 ...

  7. JavaScript DOM–节点操作

    节点 节点至少拥有nodeType(节点类型).nodeName(节点名称)和nodeValue(节点值)这三个基本属性. 元素节点 nodeType  为1 属性节点 nodeType  为2 文本 ...

  8. AdaBoost级联分类器

    Haar分类器使用AdaBoost算法,但是把它组织为筛选式的级联分类器,每个节点是多个树构成的分类器,且每个节点的正确识别率很高.在任一级计算中,一旦获得“不在类别中”的结论,则计算终止.只有通过分 ...

  9. Django | pycharm 提示 unresolved attribute referene 'objects' for class 'xxxx'

    objects高亮,提示信息为unresolved attribute referene 'objects' for class 'BookInfo' 当前情况是pycharm没有识别到objects ...

  10. Consider using the `--user` option or check the permissions.

    安装pip install C:\Users\道路\Documents\EGDownloads\pip-1.0.tar.gz 报错:Consider using the `--user` option ...