在线不卡日本ⅴ一区v二区_精品一区二区中文字幕_天堂v在线视频_亚洲五月天婷婷中文网站

  • <menu id="lky3g"></menu>
  • <style id="lky3g"></style>
    <pre id="lky3g"><tt id="lky3g"></tt></pre>

    前端-React: Hook的秘密

    前端-React: Hook的秘密

    大家知道React Hook中存在依賴數(shù)組,它的存在是為了控制組件是否變化而需要重新渲染。那么它是怎么判斷這個依賴的值是否有變化的呢?

    我發(fā)現(xiàn)沒有文檔介紹這個判斷count變化到底是怎么做的。所以我們只能自己在源碼里找了。下面的鏈接里可以找到areHookInputsEqual方法,

    https://github.com/facebook/react/blob/v18.1.0/packages/react-reconciler/src/ReactFiberHooks.new.js#L323

    這里就是判斷依賴是否相等源碼,原來它沒有使用==或===來判斷,而是使用了Object.is函數(shù), 我們都知道==和===的區(qū)別,那為什么用Object.is呢?以下來自MDN,里面說三種相等比較模式,嚴格相等(===),非嚴格相等(==),同值相等(Object.is)https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Equality_comparisons_and_sameness#a_model_for_understanding_equality_comparisons

    例如:

  • +0, -0 and 0 :===返回相等, Object.is 返回不等??赡躉bject.is就是為了數(shù)學(xué)上的正確性
  • NaN === NaN : Object.is 相等, === 不等, 這應(yīng)該就是相同值的正確性
  • 所以這就是React選擇了Object.is的原因。

    另外,React不會做深比較,它只是比較它們是否是相同的對象。===和Object.is在對象比較上都是一樣的結(jié)果。

    鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場,版權(quán)歸原作者所有,如有侵權(quán)請聯(lián)系管理員(admin#wlmqw.com)刪除。
    用戶投稿
    上一篇 2022年6月23日 06:15
    下一篇 2022年6月23日 06:15

    相關(guān)推薦

    • 存儲過程語法(sql server存儲過程語法)

      今天小編給各位分享存儲過程語法的知識,其中也會對sql server存儲過程語法進行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧! oracle存儲過程基本語法…

      2022年11月26日
    • 怎么轉(zhuǎn)行總結(jié)出成功轉(zhuǎn)行的3個步驟

      01 前段時間,由麥可思研究院發(fā)布的《就業(yè)藍皮書:2019年中國大學(xué)生就業(yè)報告》顯示,2018大學(xué)畢業(yè)生半年內(nèi)的離職率為33%,主動離職的主要原因是“個人發(fā)展空間不夠”和“薪資福利…

      2022年11月26日
    • 英雄聯(lián)盟手游好玩嗎(英雄聯(lián)盟手游好玩還是端游好玩)

      簡要回答 非常好玩,英雄聯(lián)盟手游這款游戲已經(jīng)正式的進行公測,這款游戲是以5v5為模式進行對戰(zhàn)的,它是以英雄聯(lián)盟端游為原型進行開發(fā),里面的每一種玩法基本都沿襲了端游的特點。 01 這…

      2022年11月25日
    • 中國疫情為何突然嚴重了(大連疫情為何突然增加那么多)

      有在關(guān)注國內(nèi)此次疫情的小伙伴應(yīng)該注意到了,近期國內(nèi)各地的疫情情況也都是比較嚴峻的。而對于進入十一月份后各地突然爆發(fā)的疫情,大家也都第一時間查詢原因。中國疫情為何突然嚴重了?為什么國…

      2022年11月25日
    • 為什么北京疫情越來越嚴重(疫情為什么越控制越嚴重)

      有在關(guān)注北京疫情的小伙伴應(yīng)該注意到了,這幾天北京疫情的新增數(shù)據(jù)情況也開始越發(fā)的嚴重起來,大家對北京此次疫情發(fā)展情況也都不斷分析。為什么北京疫情越來越嚴重?導(dǎo)致北京本輪疫情的原因是什…

      2022年11月25日
    • 廣州白云區(qū)疫情反彈原因是什么(白云區(qū)疫情風(fēng)險等級)

      關(guān)注廣州疫情的小伙伴可能有注意到,最近白云區(qū)的疫情好像又反彈了。據(jù)悉,近期廣州每日新增陽性感染者持續(xù)徘徊在高位平臺,疫情多點散發(fā)與局部聚集并存,本地疫情與外地輸入交織疊加,防外溢壓…

      2022年11月25日
    • 濟南疫情突然嚴重爆發(fā)的原因是什么(濟南齊魯醫(yī)院疫情嚴重嗎)

      最近一段時間濟南疫情形勢也是非常嚴重,不少小伙伴都在持續(xù)關(guān)注疫情最新情況和防疫措施,那么濟南疫情為啥突然嚴重了?濟南疫情突然嚴重爆發(fā)的原因是什么?下面小編為大家?guī)頋弦咔橥蝗粐乐亍?/p>

      2022年11月24日
    • 北京這波疫情為何如此嚴重(北京這波疫情什么時候開始的)

      最近一段時間不少小伙伴都在持續(xù)國內(nèi)疫情,會發(fā)現(xiàn)11月以來,廣州、重慶、北京疫情形勢非常嚴峻,每天新增人數(shù)上千,而且控制不下來,那么北京這波疫情為何如此嚴重?下面小編為大家?guī)肀本┻@…

      2022年11月24日
    • 本人由于個人原因辭職30字(最簡單的個人辭職原因)

      做人留一線,日后好相見!我們不斷地被職場潛規(guī)則著,同時也在制造一些潛規(guī)則,每一個離職理由的背后都有一段難以言說的辛酸!離職的時候如果不想說明真實原因,究竟該怎么說合適呢?1、 想讀…

      2022年11月24日
    • 三星s21ultra國行和韓版區(qū)別 參數(shù)配置對比有何不同

      一般來說我們購買手機都會買國行版,但是有的朋友可以通過代購買到韓版的三星s21ultra所以想要知道三星s21ultra韓版和國行的區(qū)別是什么,因此今天小編就為大家?guī)砹嗽敿毥榻B,…

      2022年11月23日

    聯(lián)系我們

    聯(lián)系郵箱:admin#wlmqw.com
    工作時間:周一至周五,10:30-18:30,節(jié)假日休息