React

React優(yōu)點(diǎn)
  • 組件化
    將一個(gè)應(yīng)用拆分為組件的形式再進(jìn)行組合,而對(duì)于每個(gè)組件來(lái)說(shuō),將應(yīng)用狀態(tài)和DOM進(jìn)行拆分,最終提高了項(xiàng)目的后期可維護(hù)性毕贼。
  • 虛擬DOM
    虛擬DOM的出現(xiàn),使react不需要每次狀態(tài)改變都去訪問(wèn)DOM。而是生成新的虛擬DOM,和之前的虛擬DOM 進(jìn)行對(duì)比,然后將改變的部分進(jìn)行渲染溉卓。降低了訪問(wèn)DOM的成本,使其具有高性能。
React缺點(diǎn)
  • 虛擬DOM严肪。這是react的優(yōu)勢(shì)也是有很大缺點(diǎn)的键思。首先,每次小小狀態(tài)改變都要去生成新的虛擬DOM,如果這個(gè)虛擬DOM的結(jié)構(gòu)復(fù)雜無(wú)疑帶來(lái)很多開(kāi)銷(xiāo)。其次,我們需要改變一個(gè)子組件的數(shù)據(jù),但數(shù)據(jù)來(lái)于父級(jí)阐枣。這時(shí)候,子組件的兄弟組件都會(huì)被重新執(zhí)行render,生成虛擬DOM马靠。還有,在做列表的時(shí)候,都必須加上key 來(lái)提高性能奄抽。react本身并不能很好的處理這些問(wèn)題,必須我們?nèi)藶榈耐ㄟ^(guò)添加key,通過(guò)shouldComponentUpdate方法比較,immutable等方法去提升性能。
  • 視圖層甩鳄。只使用react本身是不能構(gòu)建一個(gè)合格的應(yīng)用的,必須結(jié)合周邊各種庫(kù)的輔助逞度。
Props & State
  • 子組件和父組件之間可以通過(guò)Props進(jìn)行數(shù)據(jù)的傳遞。
  • State表示組件的當(dāng)前狀態(tài),通過(guò)改變state進(jìn)行頁(yè)面的重新渲染妙啃。
  • 兄弟組件之間,通過(guò)狀態(tài)提升,把子組件的state數(shù)據(jù)提升至其共同的父組件當(dāng)中保存档泽。之后父組件可以通過(guò)props將狀態(tài)數(shù)據(jù)傳遞到子組件當(dāng)中,實(shí)現(xiàn)通信。
react-lifecycle.png
組件實(shí)例化創(chuàng)建
  • getDefaultProps
    作用于組件類(lèi),設(shè)置默認(rèn)的props,只調(diào)用一次揖赴。es6中使用靜態(tài)屬性static defaultProps表示馆匿。
  • getInitialState
    實(shí)例創(chuàng)建時(shí)調(diào)用一次,設(shè)置默認(rèn)state。es6中可以在constructor中設(shè)置this.state表示储笑。
  • componentWillMount
    組件渲染前調(diào)用,這里可以修改state值,而不會(huì)再次觸發(fā)render甜熔。
  • render
    根據(jù)props和state創(chuàng)建虛擬DOM。
  • componentDidMount
    渲染結(jié)束后調(diào)用,修改state將被渲染突倍∏幌。可以通過(guò)findDOMNode去獲取修改DOM。服務(wù)器端無(wú)法使用componentDidMount羽历。
組件更新
  • componentWillReceivePorps(nextProps)
    屬性改變時(shí)調(diào)用,nextProps為更新后的props,這里容易混淆焊虏。
  • shouldComponentUpdate(nextProps, nextState)
    nextProps,nextState分別為更新后的屬性和狀態(tài)。通常我們?cè)谶@里判斷屬性和狀態(tài)是否改變,是否需要重新渲染秕磷。如果返回true將渲染,false不會(huì)诵闭。
  • componentWillUpdate(nextProps, nextState)

組件更新渲染前調(diào)用,可以設(shè)置state。

  • componentDidUpdate()
    組件渲染后調(diào)用,修改state將被渲染澎嚣∈枘颍可以通過(guò)findDOMNode去獲取修改DOM。
組件卸載
  • componentWillUnmount
    組件將被卸載時(shí)調(diào)用,一般用來(lái)清除事件監(jiān)聽(tīng)和定時(shí)器易桃。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末褥琐,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子晤郑,更是在濱河造成了極大的恐慌敌呈,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,657評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件造寝,死亡現(xiàn)場(chǎng)離奇詭異磕洪,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)诫龙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén)析显,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人签赃,你說(shuō)我怎么就攤上這事叫榕』虢模” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,057評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵晰绎,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我括丁,道長(zhǎng)荞下,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,509評(píng)論 1 293
  • 正文 為了忘掉前任史飞,我火速辦了婚禮尖昏,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘构资。我一直安慰自己抽诉,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布吐绵。 她就那樣靜靜地躺著迹淌,像睡著了一般。 火紅的嫁衣襯著肌膚如雪己单。 梳的紋絲不亂的頭發(fā)上唉窃,一...
    開(kāi)封第一講書(shū)人閱讀 51,443評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音纹笼,去河邊找鬼纹份。 笑死,一個(gè)胖子當(dāng)著我的面吹牛廷痘,可吹牛的內(nèi)容都是我干的蔓涧。 我是一名探鬼主播,決...
    沈念sama閱讀 40,251評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼笋额,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼元暴!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起鳞陨,我...
    開(kāi)封第一講書(shū)人閱讀 39,129評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤昨寞,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后厦滤,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體援岩,經(jīng)...
    沈念sama閱讀 45,561評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評(píng)論 3 335
  • 正文 我和宋清朗相戀三年掏导,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了享怀。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,902評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡趟咆,死狀恐怖添瓷,靈堂內(nèi)的尸體忽然破棺而出梅屉,到底是詐尸還是另有隱情,我是刑警寧澤鳞贷,帶...
    沈念sama閱讀 35,621評(píng)論 5 345
  • 正文 年R本政府宣布坯汤,位于F島的核電站,受9級(jí)特大地震影響搀愧,放射性物質(zhì)發(fā)生泄漏惰聂。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評(píng)論 3 328
  • 文/蒙蒙 一咱筛、第九天 我趴在偏房一處隱蔽的房頂上張望搓幌。 院中可真熱鬧,春花似錦迅箩、人聲如沸溉愁。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,838評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)拐揭。三九已至,卻和暖如春篙贸,著一層夾襖步出監(jiān)牢的瞬間投队,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,971評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工爵川, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留敷鸦,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,025評(píng)論 2 370
  • 正文 我出身青樓寝贡,卻偏偏與公主長(zhǎng)得像扒披,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子圃泡,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評(píng)論 2 354