react生命周期

1、初始化
  • getDefaultProps()
    • 设置默认的props,也可以用dufaultProps设置组件的默认属性。 
  • getInitialState()
    • 在使用es6的class语法时是没有这个钩子函数的,可以直接在constructor中定义this.state。
    • 此时可以访问this.props
  • componentWillMount()
    • 在组件初始化时调用(渲染前),以后更新都不调用,整个生命周期只调用一次
    • 此时可以修改state。
  • render()
  • componentDidMount()
    • 渲染后调用,只调用一次。
    • 此时可以使用this.getDOMNode()。 
2、更新
  • componentWillReceiveProps(nextProps)
    • 接收新的props时调用,初始化时不调用。
  • shouldComponentUpdate(nextProps, nextState)
    • 接收新的props或者state时被调用。初始化时或者使用forceUpdate时不调用
    • 需要返回一个布尔值
    • 可以在此对比前后两个props和state是否相同,如果相同则返回false阻止更新
  • componentWillUpdate(nextProps, nextState)
    • 新一轮更新前调用,在初始化时不会被调用
    • 此时可以修改state:nextState.name = '你想要更改的值’,不能在此执行 this.setState()
  • render()
  • componentDidUpdate()
    • 新一轮更新后调用。在初始化时不会被调用
    • 此时可以获取dom节点
3、卸载
  • componentWillUnmount()
    • 将要卸载前调用
    • 一些事件监听和定时器需要在此时清除
4、错误处理
  • componentDidCatch()
    • 任意地方的JavaScript错误
    • 只能使用错误边界来恢复异常,而不要尝试将它们用于控制流。

转载于:https://www.cnblogs.com/zaazoo/p/9397217.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/451830.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

14--用两个栈实现队列

文章目录1.题目详情2.解题代码1.题目详情 用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 ) 示例…

浅谈爬虫 《一》 ===python

浅谈爬虫 《一》 python ‘’正文之前先啰嗦一下,准确来说,在下还只是一个刚入门IT世界的菜鸟,工作近两年了,之前做前端的时候就想写博客来着,现在都转做python了,如果还不开始写点什么,估计时间…

Servlet全面讲解

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。Servlet(Server Applet),全称Java Servlet。是用Java编写的服务器端程序。Servlet 是在服务器上运行的…

你的代码可以是优雅的,但是还有更重要的

引用软件设计有两种方法:一种是尽可能地简单,这种设计明显没有什么缺陷;另一种是尽可能地复杂,这种设计没有明显的缺陷。 ——C.A.R. Hoare,1980年图灵奖讲座在开发过程中,我的口头禅是: Your c…

15--0~n-1中缺失的数字

文章目录1. 问题描述2. 解题代码1. 问题描述 一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。在范围0~n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。 示例 1: 输入: [0,…

如何在README中使用图片

将图片放在仓库里面,在文件里链接它,最后 push 到 github 上。 github 图片链接格式: (http://github.com/yourname/your-repository/raw/master/images-folder/xxx.png) 要自己设定的:yourname, your-repository, your-folder…

Unity中传入任意数,转换成分,秒,并进行倒计时换算..(两种方式)

第一种方式是利用Unity中的协程,代码如下: using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI;public class DemoTest : MonoBehaviour {public Text text;//测试用的数字public int MyTime 60;void Start (){//开启协程…

内核编程小结(引用)

https://www.cnblogs.com/fanling999/p/4509785.html转载于:https://www.cnblogs.com/endenvor/p/9006507.html

JIRA 5.0.1 发布

Atlassian公司发布了JIRA 5.0.1版本,该版本相比JIRA 5.0有更多改进功能。1. 管理界面的改进 将更多页面管理转为对话框形式。例如点击页面右上方的“Add New”就可实现新增issue types、sub-tasks、field configurations 、screens。2. 性能改进 解决了基于Lucene 3…

java开启新线程的三种方法

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 方式1:继承Thread类 步骤: 1):定义一个类A继承于Java.lang.Thread类. 2):在A类中覆盖Thread类中的run方法. 3):我们在ru…

16 --删除排序数组中的重复项

文章目录1.问题描述2.代码实现1.问题描述 给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的…

jquery评分效果Rating精华版

参考:https://blog.csdn.net/bluceyoung/article/details/8573629转载于:https://www.cnblogs.com/yingyigongzi/p/9400489.html

NVIDIA助力SiemensPLMSoftware“工业4.0创新实验室”,携手推进中国制造创新之路

今日,NVIDIA宣布为SiemensPLMSoftware在北京建成的“工业4.0创新实验室”提供了支持。该实验室配备SiemensPLMSoftware全面的产品生命周期管理解决方案,结合第三方硬件,向中国制造企业展示“数字化企业”的全景图。实验室的工作站全部配备NVI…

java中的native方法

一. 什么是Native Method简单地讲,一个Native Method就是一个java调用非java代码的接口。一个Native Method是这样一个java的方法:该方法的实现由非java语言实现,比如C。这个特征并非java所特有,很多其它的编程语言都有这一机制&a…

17--合并两个有序数组

文章目录1.问题描述2.代码实现1.问题描述 给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。 说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。 你可以假设 nums1 有足够的空间(空间…

Maven 添加本地 jar 包、添加依赖 jar 文件到本地 Maven 仓库、引用本地 jar

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1. 把要用的jar放在固定位置: 2.打开CMD,进入到libs文件夹: 3.运行如下命令: mvn install:install-…

如鹏网 net高级技术 第二章 委托和事件(复习)

委托 委托是一种数据类型,可以声明委托类型变量。 委托是一种可以指向方法的数据类型。 声明委托的方式:delegate返回值类型 委托类型名(参数)   比如  delegate void MyDel(int n) 注意这里的除了前面的delegate,剩下部分和声明一个函数一样&#…

黄文俊:Serverless小程序后端技术分享

欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 黄文俊,现任腾讯云SCF无服务器云函数高级产品经理,多年企业级系统开发和架构工作经验,对企业级存储、容器平台、微服务架构、无服务器计算等领域均有涉猎。今天讲的是怎么…

最少编码原则

本文作者是一位资深软件工程师,他根据多年的编程经验,把自己的观点组织整理成本文,希望能给大家一点启发。 “最少编码原则”并不是说写的代码少到令意思表达不清楚。其实在很多情况下,可以只写几行代码就能执行相同的逻辑&#x…

什么是标记接口

标识接口的作用 标识接口是没有任何方法和属性的接口。标识接口不对实现它的类有任何语义上的要求,它仅仅表明实现它的类属于一个特定的类型。 标接口在Java语言中有一些很著名的应用,比如java.io.Serializable和java.rmi.Remote等接口便是标识接口。标识…