React生命周期

React生命周期

每個組件都有幾個“生命周期方法”,您可以在此過程中的特定時間覆蓋運行代碼。前綴是will的方法在事情發(fā)生之前被調用痒芝,前綴的為did的方法在事情發(fā)生之后被調用包竹。

  • Mounting 當創(chuàng)建組件的實例并將其插入到DOM中時,將調用這些方法:

    • constructor()
    • componentWillMount()
    • render()
    • componentDidMount()
  • Updating 更新可能是傳入的參數(shù)或狀態(tài)的改變引起的喊巍。當重新呈現(xiàn)組件時,將調用這些方法:

    • componentWillReceiveProps()
    • shouldComponentUpdate()
    • componentWillUpdate()
    • render()
    • componentDidUpdate()
  • Unmounting 當從DOM中刪除組件時調用此方法:

    • componentWillUnmount()

我們將每個狀態(tài)的方法歸納一下可能會方便我們的記憶

三個狀態(tài)

  • Mounting:已插入真實 DOM
  • Updating:正在被重新渲染
  • Unmounting:已移出真實 DOM

五種方法

  • componentWillMount()
  • componentDidMount()
  • componentWillUpdate(object nextProps, object nextState)
  • componentDidUpdate(object prevProps, object prevState)
  • componentWillUnmount()

兩種特殊狀態(tài)

  • componentWillReceiveProps(object nextProps):已加載組件收到新的參數(shù)時調用
  • shouldComponentUpdate(object nextProps, object nextState):組件判斷是否重新渲染時調用

那么我們插入節(jié)點的時候箍鼓,組件都做了什么呢崭参?

  • constructor()
    • 構造函數(shù),是用來初始化這個組件的款咖,可以讓組件的state根據(jù)傳入的props的值不同而不同何暮,如果你的組件是一個靜態(tài)的,就可以不適用這個函數(shù)铐殃,下面是官網(wǎng)的例子
      constructor(props) {
          super(props);
          this.state = {
              color: props.initialColor
          };
      }
      
    • 注意這里面代碼的第二行到第五行只能在第一次初始化的時候調用海洼,千萬別指望這種寫法能夠讓你時時的更新你的組件
  • componentWillMount()
    • 當你的組件要?插入DOM時立刻被調用,render()將在他的后面被調用
    • 這個方法?不會同步更新state
    • 這是唯一一個在服務器上調用的方法富腊,?應該使用constructor代替這個方法
  • render()
    • 這個是必須出現(xiàn)在你的組件中的方法坏逢,也是我們最經(jīng)常用的方法
    • 在調用的時候應該檢查this.statethis.props并且返回一個元素
    • 在這個組件中,不要更改組件的狀態(tài)赘被,不要與?瀏覽器發(fā)生交互
    • 如果你什么也不想讓任何元素插入DOM是整,請reture false或return null
  • componentDidMount()
    • 盡可能多的將網(wǎng)絡請求寫在這里
    • 此方法中的設置狀態(tài)將觸發(fā)重新渲染。

接下來是更新節(jié)點

  • componentWillReceiveProps()
    • 在組件接收到新的props前被調用民假,
  • shouldComponentUpdate()
  • componentWillUpdate()
  • render()
  • componentDidUpdate()
    //未完待續(xù)
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末浮入,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子羊异,更是在濱河造成了極大的恐慌事秀,老刑警劉巖彤断,帶你破解...
    沈念sama閱讀 222,865評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異秽晚,居然都是意外死亡瓦糟,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,296評論 3 399
  • 文/潘曉璐 我一進店門赴蝇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來菩浙,“玉大人,你說我怎么就攤上這事句伶【Ⅱ撸” “怎么了?”我有些...
    開封第一講書人閱讀 169,631評論 0 364
  • 文/不壞的土叔 我叫張陵考余,是天一觀的道長先嬉。 經(jīng)常有香客問我,道長楚堤,這世上最難降的妖魔是什么疫蔓? 我笑而不...
    開封第一講書人閱讀 60,199評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮身冬,結果婚禮上衅胀,老公的妹妹穿的比我還像新娘。我一直安慰自己酥筝,他們只是感情好滚躯,可當我...
    茶點故事閱讀 69,196評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著嘿歌,像睡著了一般掸掏。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上宙帝,一...
    開封第一講書人閱讀 52,793評論 1 314
  • 那天丧凤,我揣著相機與錄音,去河邊找鬼步脓。 笑死息裸,一個胖子當著我的面吹牛,可吹牛的內容都是我干的沪编。 我是一名探鬼主播,決...
    沈念sama閱讀 41,221評論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼年扩,長吁一口氣:“原來是場噩夢啊……” “哼蚁廓!你這毒婦竟也來了?” 一聲冷哼從身側響起厨幻,我...
    開封第一講書人閱讀 40,174評論 0 277
  • 序言:老撾萬榮一對情侶失蹤相嵌,失蹤者是張志新(化名)和其女友劉穎腿时,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體饭宾,經(jīng)...
    沈念sama閱讀 46,699評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡批糟,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,770評論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了看铆。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片徽鼎。...
    茶點故事閱讀 40,918評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖弹惦,靈堂內的尸體忽然破棺而出否淤,到底是詐尸還是另有隱情,我是刑警寧澤棠隐,帶...
    沈念sama閱讀 36,573評論 5 351
  • 正文 年R本政府宣布石抡,位于F島的核電站,受9級特大地震影響助泽,放射性物質發(fā)生泄漏啰扛。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,255評論 3 336
  • 文/蒙蒙 一嗡贺、第九天 我趴在偏房一處隱蔽的房頂上張望隐解。 院中可真熱鬧,春花似錦暑刃、人聲如沸厢漩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,749評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽溜嗜。三九已至,卻和暖如春架谎,著一層夾襖步出監(jiān)牢的瞬間炸宵,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,862評論 1 274
  • 我被黑心中介騙來泰國打工谷扣, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留土全,地道東北人。 一個月前我還...
    沈念sama閱讀 49,364評論 3 379
  • 正文 我出身青樓会涎,卻偏偏與公主長得像裹匙,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子末秃,可洞房花燭夜當晚...
    茶點故事閱讀 45,926評論 2 361

推薦閱讀更多精彩內容

  • 組件的生命周期方法分以下三個階段概页。 Mounting當創(chuàng)建組件的實例并將其插入到DOM中時,將調用這些方法:con...
    _八神光_閱讀 1,095評論 0 0
  • 譯自 React Component Lifecycle 每個組件都有若干生命周期函數(shù)练慕。如函數(shù)名稱所示惰匙,帶有wil...
    KrisLeeSH閱讀 557評論 0 0
  • Each component has several "lifecycle methods" that you c...
    暮落晨曦閱讀 480評論 0 0
  • 好比我們人除了短暫的生與死那一瞬之外技掏,生命中剩下的時間都用在了每天活著的狀態(tài),對于React中的組件來講项鬼,占其總生...
    YeLqgd閱讀 10,489評論 0 7
  • React生命周期主要會經(jīng)歷這4個階段:創(chuàng)建階段哑梳、實例化階段、更新階段绘盟、銷毀階段 調用 React.createC...
    07120665a058閱讀 1,752評論 0 28