設置組件的初始屬性值,好比設置默認Color,width等,能夠在經過this.props獲取相應的值html
這裏經過this.props能夠獲取defaultProps設置的默認屬性值,同時這裏用於初始化控件的可變化的變量,經過this.state設置變量的初始值,經過this.setState()函數修改變量的值,調用render()函數從新渲染頁面,獲得新的頁面 react
組件將要被加載到視圖以前調用git
在調用了render方法,組件加載完成並被成功渲染出來以後,所要執行的後續操做,通常都會在這個函數中進行,好比常常要面對的網絡請求等加載數據操做,由於UI渲染是異步的,因此在這個函數裏面進行網絡請求,可以避免出現UI錯誤。github
組件的屬性prop和狀態state任何一個改變均可能會觸發render()函數渲染頁面網絡
指父元素對組件的props進行了修改異步
通常用於優化性能,經過業務邏輯判斷返回true或false,來決定頁面是否進行從新繪製,默認返回true,執行後面兩個周期函數函數
組件刷新前調用性能
通常用於清理工做,好比移除事件監聽,取消定時器等 優化
更新state必須使用setState()函數,setState是一個異步的函數:setState(update,[callback]) setState()不是馬上更新組件。其多是批處理或推遲更新。這使得在調用setState()後馬上讀取this.state的一個潛在陷阱。代替地,使用componentDidUpdate或一個setState回調(setState(updater, callback)),當中的每一個方法都會保證在更新被應用以後觸發。網站