react的生命週期函數

生命週期鉤子函數:

生命週期鉤子函數應用於有狀態組件中,有些只運行一次,有些需要運行多次

創建組件時候需要執行的鉤子函數(按照執行順序):

constructor()-------->componentWillMount()-->|render()------------>|componentDidMount()

1、constructor:不是react的方法,是es6的方法,可以在react中使用,調用當前組件的父級,也可以在函數中設置當前組件所需要的狀態state;

2、componentWillMount:當前組件即將生成,可以在該函數中修改狀態state;

3、render:創建虛擬dom,更新dom,加載配套子組件(並不是加載所有子組件)

4、componentDidMount:組件渲染完畢,執行該函數,在該函數中一定不能更新狀態,因爲一旦更新狀態,就會進行重新render,又會執行該函數,會陷入死循環。

組件發生變化,觸發更新的鉤子函數:

組件更新的時候觸發的相關函數(按照執行順序):

  componentWillReceiveProps(nextProps){}---------->組件發生改變觸發
  shouldComponentUpdate(nextProps,nextState){}     --------->控制組件是否重新渲染
  componentWillUpdate(nextProps,nextState){}       --------->進入重新渲染流程
  render(){}                    --------->更新相關組件
  componentDidUpdate(){}        --------->組件渲染完畢

componentWillReceiveProps:組件將要接收屬性,執行該方法

shouldComponentUpdate:是否要更新當前組件,非常好用的方法,react中唯一一個控制組件是否渲染的方法(根據條件判斷),方法返回false不進行到下一個階段,返回爲true,則進行到下一個階段

componentWillUpdate:組件進入到渲染流程,即將更新

render:更新當前相關的子組件,渲染完畢後走到下一步

componentDidUpdate:渲染完畢執行的方法

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章