React+ES6 實例化教程(5)

大家好扇住,我又來了春缕,這可能是春節(jié)之前我最后一次更新react,先祝大家春節(jié)快樂艘蹋,新的一年里步步高升锄贼。接下來進(jìn)入正題。

我站在大家的角度去想有可能我的更新進(jìn)度有點慢女阀,容我給大家解釋一下宅荤,我覺得其他的文章更新快一點還說得過去,但是像這種學(xué)術(shù)性的東西我還是需要細(xì)細(xì)探究并且把對的東西分享給大家比較好浸策,也不至于賺來討罵聲冯键。慢點希望大家能理解。上次我給大家建了一個簡單的DOM交互的拖拽事件庸汗,這次我再給大家更新一點在react中比較重要的部分那就是生命周期惫确。進(jìn)入正題:

react中的生命周期可以理解為這個組件從創(chuàng)建到掛載再到更新最后到卸載的過程,簡單點說就是這樣的。那樣的話這些過程轉(zhuǎn)化為編程語言的話怎么解釋呢改化?我給大家說一下:

生命周期圖解

看到這個圖解的時候我也是蠻頭大的昧诱,但是我們一步一步弄清楚之后就看起來沒那么麻煩了。

首先我們把組件的生命周期進(jìn)行大致的劃分:類調(diào)用所袁、實例化盏档、更新以及卸載。(先進(jìn)行理論解釋然后代碼演示)

類調(diào)用:(getDefaultProps)這個過程就在我們進(jìn)行組件創(chuàng)建的時候調(diào)用一次燥爷,也就是說無論創(chuàng)建多少個組件元素這個過程只會被調(diào)用一次.

實例化:這里面進(jìn)行很多個操作我一一解釋蜈亩,這個過程也是僅執(zhí)行一次,執(zhí)行完畢后組件會被渲染到DOM中前翎,特們包括:getInitialState稚配、componentWillMount、render以及componentDidMount(其中我們之前的demo中都包括到了只是現(xiàn)在才給大家講解)

更新:這個過程會在我們之前見過的this.state和this.props賦值期間執(zhí)行港华。

? ?this.state變更時:shouldComponentUpdate道川、componentWillUpdate、render立宜、componentDidUpdate函數(shù)會被執(zhí)行冒萄。

? ?this.props變更時:componentWillReceiveProps、shouldComponentUpdate橙数、componentWIllUpdate尊流、render、componentDidUpdate函數(shù)會被執(zhí)行灯帮。

卸載:(componentWillUnmount)這個過程會在組件被銷毀的時候被調(diào)用一次.

這就是對上面這個生命周期圖解的解釋大家有可能覺得更新的兩個狀態(tài)有點相似其實后者就是在接受參數(shù)變化的時候多加了一個將要接受參數(shù)的方法崖技。

這次我們的講解主要圍繞componentWillMount(組建創(chuàng)建之前)、componentDidMount(組建創(chuàng)建之后)钟哥、componentWillUpdate(組件更新之前)迎献、componentDidUpdate(組件更新之后)、componentWillUnmount(組件卸載之前)腻贰、componentReceiveProps(組件參數(shù)接受更新)進(jìn)行講解吁恍。

其實在我給大家講解實例之前我還做過一個時鐘的例子,在那個例子之中我們就用到了生命周期中的一個函數(shù)银受,在這里我就不賣關(guān)子了我直接把例子附上盡管如此我還是希望大家能順手敲一下來增加熟練度:


時鐘組件代碼

這其中用到的componentDidMount方法解決了一個問題就是我們在用定時器來進(jìn)行渲染的時候會遇到一個情況就是我們頁面加載的時候不是直接從當(dāng)前的時間開始走而是需要從一開始的0:0:0跳一下到當(dāng)前時間践盼,用原生的解決的辦法是在定時器之前先調(diào)用一次fn函數(shù)但是在這里是沒有用的鸦采,我們在這里很巧妙地用了componentDidMount來進(jìn)行解決宾巍,也就是說我們在組件掛載完成后立馬執(zhí)行一次fn函數(shù)這樣就不會出現(xiàn)跳的情況了。

說到這里我感覺大家應(yīng)該知道這些個方法的用處了渔伯,然后我們就用一個例子來讓大家看一下這些方法的執(zhí)行時間:


例子

這個例子就是展示了我們這兩個方法的執(zhí)行時間顶霞,一個是在即將渲染到界面的時候進(jìn)行調(diào)用另一個是在剛剛掛載到界面的時候進(jìn)行調(diào)用。

接下來我們展示一下即將卸載的執(zhí)行時機(jī):

小例子

很簡單的點擊渲染然后可以在瀏覽器中查看到對應(yīng)的輸出:

剛渲染完
點擊切換渲染

這樣是不是很明確的就知道這些方法的執(zhí)行時機(jī)了呢?

下面我們就用一個新的例子來進(jìn)行對剩余的方法進(jìn)行講解选浑,但是這次我不多解釋我只上例子然后其余的希望大家能自己分析分析然后自己敲敲代碼實現(xiàn)一下看看是怎么回事蓝厌。

執(zhí)行時機(jī)demo

這次的例子中用了一個子組件與父組件的嵌套關(guān)系,后面會有例子講解古徒,但是大體也就是這樣拓提,萬箭不離其宗。

這樣我這次就講完了隧膘,我感覺這次講的看上去不多但是需要大家理解的比較多代态,希望能動起手來并且動起腦來跟隨我的講解進(jìn)行精簡的學(xué)習(xí),基礎(chǔ)打好后面難得地方也就順過去了疹吃。

下期預(yù)告:列表創(chuàng)建以及react中的ajax交互

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蹦疑,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子萨驶,更是在濱河造成了極大的恐慌歉摧,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,482評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件腔呜,死亡現(xiàn)場離奇詭異叁温,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)核畴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評論 2 382
  • 文/潘曉璐 我一進(jìn)店門券盅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人膛檀,你說我怎么就攤上這事锰镀。” “怎么了咖刃?”我有些...
    開封第一講書人閱讀 152,762評論 0 342
  • 文/不壞的土叔 我叫張陵泳炉,是天一觀的道長。 經(jīng)常有香客問我嚎杨,道長花鹅,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,273評論 1 279
  • 正文 為了忘掉前任枫浙,我火速辦了婚禮刨肃,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘箩帚。我一直安慰自己真友,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,289評論 5 373
  • 文/花漫 我一把揭開白布紧帕。 她就那樣靜靜地躺著盔然,像睡著了一般桅打。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上愈案,一...
    開封第一講書人閱讀 49,046評論 1 285
  • 那天挺尾,我揣著相機(jī)與錄音,去河邊找鬼站绪。 笑死遭铺,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的恢准。 我是一名探鬼主播掂僵,決...
    沈念sama閱讀 38,351評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼顷歌!你這毒婦竟也來了锰蓬?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,988評論 0 259
  • 序言:老撾萬榮一對情侶失蹤眯漩,失蹤者是張志新(化名)和其女友劉穎芹扭,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體赦抖,經(jīng)...
    沈念sama閱讀 43,476評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡舱卡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,948評論 2 324
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了队萤。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片轮锥。...
    茶點故事閱讀 38,064評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖要尔,靈堂內(nèi)的尸體忽然破棺而出舍杜,到底是詐尸還是另有隱情,我是刑警寧澤赵辕,帶...
    沈念sama閱讀 33,712評論 4 323
  • 正文 年R本政府宣布既绩,位于F島的核電站,受9級特大地震影響还惠,放射性物質(zhì)發(fā)生泄漏饲握。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,261評論 3 307
  • 文/蒙蒙 一蚕键、第九天 我趴在偏房一處隱蔽的房頂上張望救欧。 院中可真熱鬧,春花似錦锣光、人聲如沸笆怠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽骑疆。三九已至,卻和暖如春替废,著一層夾襖步出監(jiān)牢的瞬間箍铭,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評論 1 262
  • 我被黑心中介騙來泰國打工椎镣, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留诈火,地道東北人。 一個月前我還...
    沈念sama閱讀 45,511評論 2 354
  • 正文 我出身青樓状答,卻偏偏與公主長得像冷守,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子惊科,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,802評論 2 345

推薦閱讀更多精彩內(nèi)容