PureComponent中的淺比較

react dom 18.2.0
shouldComponentUpdate
1勃教、先用object.is判斷
2、在判斷A和B是否是null
3、A和B的keys長度比較
4武鲁、A和B的key是否相同 或者 A和B的value值是否相同

function shallowEqual(objA, objB) {
  if (objectIs(objA, objB)) {
    return true;
  }

  if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {
    return false;
  }

  var keysA = Object.keys(objA);
  var keysB = Object.keys(objB);

  if (keysA.length !== keysB.length) {
    return false;
  } // Test for A's keys different from B.


  for (var i = 0; i < keysA.length; i++) {
    var currentKey = keysA[i];

    if (!hasOwnProperty.call(objB, currentKey) || !objectIs(objA[currentKey], objB[currentKey])) {
      return false;
    }
  }

  return true;
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市蝠检,隨后出現(xiàn)的幾起案子沐鼠,更是在濱河造成了極大的恐慌,老刑警劉巖叹谁,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件饲梭,死亡現(xiàn)場離奇詭異,居然都是意外死亡本慕,警方通過查閱死者的電腦和手機(jī)排拷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來锅尘,“玉大人监氢,你說我怎么就攤上這事√傥ィ” “怎么了浪腐?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長顿乒。 經(jīng)常有香客問我议街,道長,這世上最難降的妖魔是什么璧榄? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任特漩,我火速辦了婚禮,結(jié)果婚禮上骨杂,老公的妹妹穿的比我還像新娘涂身。我一直安慰自己,他們只是感情好搓蚪,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布蛤售。 她就那樣靜靜地躺著,像睡著了一般妒潭。 火紅的嫁衣襯著肌膚如雪悴能。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天雳灾,我揣著相機(jī)與錄音漠酿,去河邊找鬼。 笑死谎亩,一個(gè)胖子當(dāng)著我的面吹牛炒嘲,可吹牛的內(nèi)容都是我干的谈竿。 我是一名探鬼主播,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼摸吠,長吁一口氣:“原來是場噩夢啊……” “哼空凸!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起寸痢,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤呀洲,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后啼止,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體道逗,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年献烦,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了滓窍。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,059評論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡巩那,死狀恐怖吏夯,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情即横,我是刑警寧澤噪生,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站东囚,受9級特大地震影響跺嗽,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜页藻,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一桨嫁、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧份帐,春花似錦璃吧、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽爷辙。三九已至彬坏,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間膝晾,已是汗流浹背栓始。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留血当,地道東北人幻赚。 一個(gè)月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓禀忆,卻偏偏與公主長得像,于是被迫代替她去往敵國和親落恼。 傳聞我的和親對象是個(gè)殘疾皇子箩退,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評論 2 345

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

  • 為什么用 PureComponent ? PureComponent 是優(yōu)化 React 應(yīng)用程序最重要的方法之一...
    夏天_5de1閱讀 2,681評論 0 4
  • 前端開發(fā)面試題 <a name='preface'>前言</a> 只看問題點(diǎn)這里 看全部問題和答案點(diǎn)這里 本文由我...
    自you是敏感詞閱讀 753評論 0 3
  • PureComponent是react中創(chuàng)建組件的一種方式佳谦,可以減少不必要的更新戴涝,進(jìn)而提升性能,每次更新會自動幫你...
    指尖跳動閱讀 2,937評論 0 2
  • 前端開發(fā)面試題 面試題目: 根據(jù)你的等級和職位的變化钻蔑,入門級到專家級啥刻,廣度和深度都會有所增加。 題目類型: 理論知...
    怡寶丶閱讀 2,569評論 0 7
  • 代碼切割 懶加載 React.lazy React.lazy 目前只支持默認(rèn)導(dǎo)出 異常捕獲邊界 基于路由的代碼分割...
    前端小白的摸爬滾打閱讀 232評論 0 0