react學習記錄

本文首發(fā)于我的博客

前言

前段時間用vue重構完公司的pc項目后閑了兩天捐下,回味了一下vue的整體開發(fā)過程。
現(xiàn)在公司有個無線項目預計是需要重構的盒至,因為本身是混合開發(fā)的webApp硕旗。所以在vue的基礎上直接去讀了react的文檔。
以便于未來看情況是否可以上react native去完成項目重構但惶。
留個學習記錄在此耳鸯,一是好記性不如爛筆頭,二是方便以后回頭查看膀曾。

react的生命周期

react開發(fā)過程的注意事項

眾所周知react的黑科技是虛擬dom技術县爬。
而這種技術的出發(fā)點就是為了在能自動化更新dom的情況上且避免大面積的更新dom(這也就是Angular2為什么與Angular1有如此大不同),從而快準狠的針對修改處進行修改添谊。
所以我們在開發(fā)過程中也應該保證此技術的出發(fā)點财喳,避免大面積更新dom。這樣才是好鋼用在刀刃上斩狱。

shouldComponentUpdate()

而根據(jù)上面的生命周期圖示耳高,我們會發(fā)現(xiàn)shouldComponentUpdate鉤子是非常特殊的。
因為mvvm的思想我們的核心關注點基本都是在數(shù)據(jù)上所踊,所以我們在交互過程中可能要非常頻繁的去調(diào)用this.setState泌枪。
這樣就會頻繁的觸發(fā)shouldComponentUpdate,所以我們必須要確保此鉤子的運行速度秕岛。

那么一般情況我們只需要對傳入的值進行判斷就好了碌燕,比如:


shouldComponentUpdate(nextProps,nextState){
  if(nextState.Number == this.state.Number){
    return false
  }
  return true
}

好,正戲來了瓣蛀!

稍微對js有點了解的人都會知道陆蟆,函數(shù)傳參是值類型,那么如果只在這里不做特殊處理的話就只會返回false是不符合條件的。

那么我們有哪幾種解決方案呢惋增?

  1. 很經(jīng)典的對象深拷貝

如果你確定你自己的能力能寫出很完善的深拷貝方法并且性能有所保證是完全可以自己實現(xiàn)的叠殷,原理就是將目標的引用類型通過遞歸,層層向下找到最底層的基礎數(shù)據(jù)類型诈皿,然后拼裝成一樣結構且數(shù)據(jù)相同的引用類型林束。

  1. immutable.js庫

有人說這個庫真的是一個偉大的發(fā)明像棘,他的存在如果善于利用可以使react的性能十倍十倍的提升

上面這句話是我在社區(qū)內(nèi)看到的,足以證明這個庫的價值壶冒。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末缕题,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子胖腾,更是在濱河造成了極大的恐慌烟零,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件咸作,死亡現(xiàn)場離奇詭異锨阿,居然都是意外死亡,警方通過查閱死者的電腦和手機记罚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進店門墅诡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人桐智,你說我怎么就攤上這事末早。” “怎么了说庭?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵然磷,是天一觀的道長。 經(jīng)常有香客問我口渔,道長样屠,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任缺脉,我火速辦了婚禮痪欲,結果婚禮上,老公的妹妹穿的比我還像新娘攻礼。我一直安慰自己业踢,他們只是感情好,可當我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布礁扮。 她就那樣靜靜地躺著知举,像睡著了一般。 火紅的嫁衣襯著肌膚如雪太伊。 梳的紋絲不亂的頭發(fā)上雇锡,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天,我揣著相機與錄音僚焦,去河邊找鬼锰提。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的立肘。 我是一名探鬼主播边坤,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼谅年!你這毒婦竟也來了茧痒?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤融蹂,失蹤者是張志新(化名)和其女友劉穎旺订,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體殿较,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡耸峭,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年桩蓉,在試婚紗的時候發(fā)現(xiàn)自己被綠了淋纲。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡院究,死狀恐怖洽瞬,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情业汰,我是刑警寧澤伙窃,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站样漆,受9級特大地震影響为障,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜放祟,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一鳍怨、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧跪妥,春花似錦鞋喇、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至纽疟,卻和暖如春罐韩,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背污朽。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工散吵, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓错蝴,卻偏偏與公主長得像洲愤,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子顷锰,可洞房花燭夜當晚...
    茶點故事閱讀 42,792評論 2 345

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

  • 在React中啟用了javaScript的語法擴展柬赐,也就是所謂的JSX,JSX可以讓我們在javaScript中書...
    summer_味道制造閱讀 154評論 0 0
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,506評論 25 707
  • 楠楠(化名)這次來參加課程,主要是想看清楚自己束世。她覺得現(xiàn)狀讓她很辛苦酝陈,未來也不知道走向何方。和家里人關系都不太好毁涉,...
    觀心閣筆記閱讀 628評論 0 0
  • 突然間想明白沉帮,我該做什么!必須記下這種感覺贫堰,免得我迷茫時忘了初心穆壕! 對于銷售,我是一時半會突破不了自己其屏,可能不是最...
    自由飛翔的我閱讀 232評論 0 0
  • 有個朋友對我講偎行,她不習慣將文字袒露在光天化日之下川背,那種感覺就好像把自己脫光了曝曬在陽光底下。對她而言蛤袒,文字是自己內(nèi)...
    月出雅南閱讀 197評論 1 0