第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 React 內(nèi)置的 React.memo 比較功能?

如何使用 React 內(nèi)置的 React.memo 比較功能?

ITMISS 2022-11-11 16:18:58
我想檢查某個 prop 是否手動更改,然后使用 React 的內(nèi)置比較功能對其他 prop 進(jìn)行比較。例如:React.memo(  () => <div />,  (prevProps, nextProps) => {    if (!nextProps.visible) {      return true;    }    return React.shallowCompare(prevProps, nextProps);  },);我可以輕松編寫自己的比較函數(shù)或從 React 的源代碼復(fù)制/粘貼,但如果 React 更改了它們的默認(rèn)比較函數(shù),那么我也必須手動更改我的函數(shù)。有沒有辦法使用 React 的內(nèi)置比較功能React.memo?此外,AFAIKreact-addons-shallow-compare已過時。
查看完整描述

1 回答

?
慕工程0101907

TA貢獻(xiàn)1887條經(jīng)驗 獲得超5個贊

抱歉不行。shallowEqual如果您不提供比較功能,則React 默認(rèn)為,但如果您返回任何特殊的東西(例如return null),則沒有使用默認(rèn)行為的額外邏輯。


React 的用法:


const prevProps = currentChild.memoizedProps;

// Default to shallow comparison

let compare = Component.compare;

compare = compare !== null ? compare : shallowEqual;

if (compare(prevProps, nextProps) && current.ref === workInProgress.ref) {

...

React 目前沒有導(dǎo)出shallowEqual. 但是,React 的文檔指出它只是淺比較,這不太可能發(fā)生太大變化,并且可以像您所知的那樣輕松實現(xiàn)(示例)。我假設(shè)這個決定是為了減少他們的團(tuán)隊向開發(fā)人員公開的 API。


查看完整回答
反對 回復(fù) 2022-11-11
  • 1 回答
  • 0 關(guān)注
  • 158 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號