react render沒更新 React生命週期

2021-10-11 03:46:34 字數 1024 閱讀 4382

react生命週期分為15和16兩個不同的版本

react15有四個不同的階段

在元件掛載到dom前呼叫,且只會被呼叫一次,在這邊呼叫this.setstate不會引起元件重新渲染,也可以把寫在這邊的內容提前到constructor()中,所以專案中很少用,它代表的過程是元件已經經歷了constructor()初始化資料後,但是還未渲染dom時。

根據元件的props和state(兩者的重傳遞和重賦值,無論值是否有變化,都可以引起元件重新render) ,當父元件的 render 函式被執行時, 它的子元件的 render 函式也會被重新執行

return 乙個react元素(描述元件,即jsx模板),不負責元件實際渲染工作,之後由react自身根據此元素去渲染出頁面dom。render是純函式(pure function:函式的返回結果只依賴於它的引數;函式執行過程裡面沒有***),不能在裡面執行this.setstate,會有改變元件狀態的***。

元件掛載到dom後呼叫,且只會被呼叫一次

在呼叫render方法前執行,在這邊可執行一些元件更新發生前的工作,一般較少用

此方法在元件更新後被呼叫,可以操作元件更新的dom,prevprops和prevstate這兩個引數指的是元件更新前的props和state

此方法在元件被解除安裝前呼叫,可以在這裡執行一些清理工作,比如清楚元件中使用的定時器,清楚componentdidmount中手動建立的dom元素等,以避免引起記憶體洩漏。

新引入了兩個新的生命週期函式

代替componentwillupdate。常見的 componentwillupdate 的用例是在元件更新前,讀取當前某個 dom 元素的狀態,並在 componentdidupdate 中進行相應的處理。

這兩者的區別在於:

參考自

好久沒更新了

不知不覺已然過了這麼久 要不是這兩天某老師給我來 叮囑我更改部落格的話我還真想不起來這個地方了,以前還想著借寫部落格的契機培養記日記的好習慣,沒想到稍一倏忽,就是半年沒了 唉 日記畢竟和部落格是不一樣的,日記是完全私人的,而部落格處於公開化,有些事情其實是不方便說的。前些日子我參加過乙個四個月的培訓...

好久沒更新部落格了

今天看了部落格的更新日期,2007年9月,一晃快2年沒更新了。2年發生事情太多了,一直不在狀態。人生起伏不定,好多事情不能預料,也不能以自己的意志為轉移。好在都調整過來了,感謝我的父母和朋友 09年新的一年也開始了,一直忙於自己的乙個人才專案,江西搜才網,本專案的開發環境是vs2005 sql200...

真的是很久沒更新了

不知怎麼的,今天突然想在部落格寫點東西。回頭看看去年翻譯的那些不堪入目的教程,心裡真不是滋味。去年11月進的公司,到現在也有半年了吧!大四還沒畢業,工資也就那麼點,以後怎麼走?戶口先放學校,看看以後能不能去個好點的地方吧 還好這幾天公司買了wii和桌球桌,下班有的玩了。前些天班裡有人跳樓了,那時我還...