摘要:?jiǎn)栴}了解組件的生命周期知識(shí)點(diǎn)流程狀態(tài)圖注意流程狀態(tài)圖為使用方法的生命周期使用獲取后臺(tái)數(shù)據(jù)渲染時(shí),一般將調(diào)用方法放在中,這樣可以先渲染虛擬再展示數(shù)據(jù),當(dāng)再次調(diào)用數(shù)據(jù)改變時(shí),內(nèi)數(shù)據(jù)會(huì)再次渲染,而不用再次加載整個(gè)。
問(wèn)題
了解React組件的生命周期
知識(shí)點(diǎn)React流程狀態(tài)圖
注意:流程狀態(tài)圖為使用React.createClass方法的生命周期
使用ajax獲取后臺(tái)數(shù)據(jù)渲染時(shí),一般將調(diào)用ajax方法放在componentDidMount中,這樣可以先渲染虛擬dom再展示數(shù)據(jù),當(dāng)再次調(diào)用ajax數(shù)據(jù)改變時(shí),dom內(nèi)數(shù)據(jù)會(huì)再次渲染,而不用再次加載整個(gè)dom。如果在該dom要根據(jù)條件只通過(guò)ajax獲取一次數(shù)據(jù),則可以將調(diào)用ajax的方法放在componentWillMount。
當(dāng)工程中未加載jQuery,異步請(qǐng)求也可以使用fetch等
在componentWillUpdate中,盡量避免使用setState()或setProps()方法。若無(wú)條件判斷情況下使用setState()或setProps(),會(huì)導(dǎo)致死循環(huán),同樣componentDidUpdate中使用setState()若無(wú)條件限制也會(huì)導(dǎo)致死循環(huán)。
通過(guò)shouldComponentUpdate可以對(duì)是否進(jìn)行渲染的條件判斷,能夠作為性能調(diào)優(yōu)的手段,避免無(wú)意義渲染。
componentWillReceiveProps可以通過(guò)nextProps獲取新傳入的參數(shù)值,例如:nextProps.operationType獲取operationType
建議使用setState()的周期為:componentWillMount、componentDidMount、componentWillReceiveProps、componentDidUpdate
注意對(duì)應(yīng)周期中this.state的值
通過(guò)構(gòu)建列表樹(shù)后總結(jié)補(bǔ)充:
setState不會(huì)立即生效,要經(jīng)過(guò)render過(guò)程才能真正改變state值
在return時(shí)調(diào)用方法setState,會(huì)引起shouldComponentUpdate周期,而此時(shí)componentDidMount周期已完成。
參考文章React組件生命周期過(guò)程說(shuō)明
React組件生命周期
React數(shù)據(jù)獲取為什么一定要在componentDidMount里面調(diào)用?
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/89272.html
摘要:本文主要介紹之后的生命周期。該方法有兩個(gè)參數(shù)和返回值為對(duì)象不需要返回整體,把需要改變的返回即可。必須有一個(gè)返回值,返回的數(shù)據(jù)類(lèi)型可以有。此生命周期主要用于優(yōu)化性能。最后,說(shuō)明一點(diǎn)這三個(gè)生命周期在未來(lái)版本中會(huì)被廢棄。 React16.3.0開(kāi)始,生命周期進(jìn)行了一些變化。本文主要介紹React16.3.0之后的生命周期。 React16.3.0之前生命周期: 16版本之前的react組件的...
摘要:所以對(duì)于組件更新階段的組件生命周期,我們簡(jiǎn)單提及并且提供一些資料給大家。這里為了知識(shí)的完整,補(bǔ)充關(guān)于更新階段的組件生命周期你可以通過(guò)這個(gè)方法控制組件是否重新渲染。大家對(duì)這更新階段的生命周期比較感興趣的話可以查看官網(wǎng)文檔。 React.js 小書(shū) Lesson20 - 更新階段的組件生命周期 本文作者:胡子大哈本文原文:http://huziketang.com/books/react...
摘要:更新階段卸載階段兄弟節(jié)點(diǎn)之間的通信主要是經(jīng)過(guò)父組件和也是通過(guò)改變父組件傳遞下來(lái)的實(shí)現(xiàn)的,滿足的設(shè)計(jì)遵循單向數(shù)據(jù)流模型,因此任何兩個(gè)組件之間的通信,本質(zhì)上都可以歸結(jié)為父子組件更新的情況。 你真的了解 React 生命周期嗎? React 生命周期很多人都了解,但通常我們所了解的都是 單個(gè)組件 的生命周期,但針對(duì) Hooks 組件、多個(gè)關(guān)聯(lián)組件(父子組件和兄弟組件) 的生命周期又是怎么樣的...
摘要:組件生命周期此文章適合之前的版本,,添加了一些新的生命周期函數(shù),同時(shí)準(zhǔn)備廢棄一些會(huì)造成困擾的生命周期函數(shù)。每個(gè)生命周期階段調(diào)用的鉤子函數(shù)會(huì)略有不同。 React組件生命周期 此文章適合 React@17 之前的版本,React@16.3.0,添加了一些新的生命周期函數(shù),同時(shí)準(zhǔn)備廢棄一些會(huì)造成困擾的生命周期函數(shù)。所有如果在React@17 發(fā)布之前,這篇文章還是適用的。新的生命周期請(qǐng)看官...
摘要:因?yàn)榘姹緦⒄嬲龔U棄這三生命周期到目前為止,的渲染機(jī)制遵循同步渲染首次渲染,更新時(shí)更新時(shí)卸載時(shí)期間每個(gè)周期函數(shù)各司其職,輸入輸出都是可預(yù)測(cè),一路下來(lái)很順暢。通過(guò)進(jìn)一步觀察可以發(fā)現(xiàn),預(yù)廢棄的三個(gè)生命周期函數(shù)都發(fā)生在虛擬的構(gòu)建期間,也就是之前。 showImg(https://segmentfault.com/img/bVbweoj?w=559&h=300); 背景 前段時(shí)間準(zhǔn)備前端招聘事項(xiàng)...
閱讀 2499·2021-08-11 11:16
閱讀 2940·2019-08-30 15:55
閱讀 3341·2019-08-30 12:53
閱讀 1580·2019-08-29 13:28
閱讀 3272·2019-08-28 18:17
閱讀 947·2019-08-26 12:19
閱讀 2475·2019-08-23 18:27
閱讀 714·2019-08-23 18:17