React Native生命周期主要分為三大階段:實(shí)例化階段(圖中上框部分),存在階段(圖中左框部分),銷毀階段(圖中右框部分)。
一.constructor(props)
該函數(shù)是用于對(duì)組件的一些狀態(tài)進(jìn)行初始化,可以將控制控件的狀態(tài)的一些變量放在這里初始化,如控件上顯示的文字惜姐,可以通過this.state來獲取值,通過this.setState來修改state值椿息。
constructor(props) {
super(props);
this.state = { };
}
二.componentWillMount
相當(dāng)于OC中的ViewWillAppear方法歹袁,在組件將要被加載在視圖上之前調(diào)用,功能相對(duì)較少寝优。一般在這里發(fā)網(wǎng)絡(luò)請(qǐng)求
三.render
render是一個(gè)組件中必須有的方法条舔,本質(zhì)上是一個(gè)函數(shù),并返回JSX或其他組件來構(gòu)成DOM乏矾,和Android的XML布局類似孟抗,注意:只能返回一個(gè)頂級(jí)元素 ;
此外迁杨,在render函數(shù)中,只可通過this.state和this.props來訪問在之前函數(shù)中初始化的數(shù)據(jù)值 凄硼。
四.componentDidMount
在調(diào)用了render方法后铅协,組件加載成功并被成功渲染出來以后,所要執(zhí)行的后續(xù)操作摊沉,一般會(huì)在這個(gè)函數(shù)中處理網(wǎng)絡(luò)請(qǐng)求等加載數(shù)據(jù)的操作狐史;
因?yàn)閁I已經(jīng)成功被渲染出來, 所以放在這個(gè)函數(shù)里進(jìn)行請(qǐng)求操作说墨,不會(huì)出現(xiàn)UI上的錯(cuò)誤骏全。
五.存在期階段函數(shù)功能分析
componentWillReceiveProps
指父元素對(duì)組件的props或state進(jìn)行了修改
shouldComponentUpdate
一般用于優(yōu)化,可以返回false或true來控制是否進(jìn)行渲染
componentWillUpdate
組件刷新前調(diào)用婉刀,類似componentWillMount
componentDidUpdate
更新后的相關(guān)操作
六.銷毀期階段函數(shù)功能分析
用于清理一些無用的內(nèi)容吟温,如:點(diǎn)擊事件Listener,只有一個(gè)過程:componentWillUnmount
七.常用知識(shí)點(diǎn)分析
this.state
開發(fā)中組件免不了要與用戶互動(dòng)突颊,React 的一大創(chuàng)新,就是將組件看成是一個(gè)狀態(tài)機(jī)潘悼,一開始有一個(gè)初始狀態(tài)律秃,然后用戶互動(dòng),導(dǎo)致狀態(tài)變化治唤,從而觸發(fā)重新渲染 UI棒动。