初始化階段
constructor(props)
- 這是組件類的構(gòu)造函數(shù)仆救,通常在此初始化
state
數(shù)據(jù)模型。
constructor(props) {
super(props);
this.state = {
//key : value
};
}
componentWillMount
- 表示組件將要加載到虛擬
DOM
母廷,在render
方法之前執(zhí)行,整個(gè)生命周期只執(zhí)行一次。
componentWillMount() {
}
componentDidMount
- 表示組件已經(jīng)加載到虛擬
DOM
豹障,
- 在
render
方法之后執(zhí)行蚁滋,整個(gè)生命周期只執(zhí)行一次宿接。
- 通常在該方法中完成異步網(wǎng)絡(luò)請(qǐng)求或者集成其他
JavaScript
庫(kù)
componentDidMount() {
}
運(yùn)行階段
componentWillReceiveProps(nextProps)
- 在組件接收到其父組件傳遞的props的時(shí)候執(zhí)行,參數(shù)為父組件傳遞的
props
。
- 在組件的整個(gè)生命周期可以多次執(zhí)行枢赔。
- 通常在此方法接收新的
props
值澄阳,
- 重新設(shè)置
state
。
componentWillReceiveProps(nextProps) {
this.setState({
//key : value
});
}
shouldComponentUpdate(nextProps, nextState)
- 在
componentWillReceiveProps(nextProps)
執(zhí)行之后立刻執(zhí)行踏拜;
- 或者在
state
更改之后立刻執(zhí)行碎赢。
- 該方法包含兩個(gè)參數(shù),分別是props和state速梗。
- 該方法在組件的整個(gè)生命周期可以多次執(zhí)行肮塞。
- 如果該方法返回
false
,
- 則
componentWillUpdate(nextProps, nextState)
及其之后執(zhí)行的方法都不會(huì)執(zhí)行姻锁,組件則不會(huì)進(jìn)行重新渲染
- 用于攔截
props
和state
做一些邏輯判斷
shouldComponentUpdate(nextProps, nextState) {
return true;
}
componentWillUpdate(nextProps, nextState)
- 在
shouldComponentUpdate(nextProps, nextState)
函數(shù)執(zhí)行完畢之后立刻調(diào)用枕赵,
- 該方法包含兩個(gè)參數(shù),分別是
props
和state
位隶。
-
render()
函數(shù)執(zhí)行之前調(diào)用拷窜。
- 該方法在組件的整個(gè)生命周期可以多次執(zhí)行
componentWillUpdate(nextProps, nextState) {
}
componentDidUpdate(preProps, preState)
- 在
render()
方法執(zhí)行之后立刻調(diào)用。
- 該方法包含兩個(gè)參數(shù)涧黄,分別是
props
和state
篮昧。
- 該方法在組件的整個(gè)生命周期可以多次執(zhí)行。
- 通常用于更新完畢在這里做一些操作
componentDidUpdate(preProps, preState) {
}
render()
-
render
方法用于渲染組件笋妥。在初始化階段和運(yùn)行期階段都會(huì)執(zhí)行懊昨。
render() {
return(
<View/>
);
}
銷毀階段
componentWillUnmount()
- 銷毀時(shí)調(diào)用,通常用來(lái)取消時(shí)間綁定
- 移除虛擬DOM中對(duì)應(yīng)組建的數(shù)據(jù)結(jié)構(gòu)
componentWillUnmount() {
}
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者