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.pswp.cn/news/451830.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/451830.shtml
英文地址,請注明出處:http://en.pswp.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等接口便是標識接口。標識…