react——父組件props發生變化時調用的生命週期函數

在做項目的時候遇到問題:
兩個子組件和一個父組件
子組件1改變了某個值通過狀態提升到共同的父組件,然後子組件2要使用更新後的數據

componentWillReceiveProps(nextProps) {
//判斷如果props發生改變
    if (nextProps.keys !== this.props.keys) {
      this.setState({
        keys:this.props.keys
      });
    }
  }

總結一下我目前的瞭解:

1.組件第一次渲染時不會執行componentWillReceiveProps;

2.當props發生變化的時時候會執行componentWillReceiveProps;

3.在componentWillReceiveProps裏面,舊的屬性可以通過this.props來獲取,新的屬性則可以通過參數nextProps來獲取;

4.此函數可以通過調用this.setState()來更新組件狀態,並且不會引起第二次的渲染

5.也可在此函數內根據需要調用自己的自定義函數,來對prop的改變做出一些響應。

發佈了45 篇原創文章 · 獲贊 41 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章