我們正在我們的react/redux應用程序中實施性能優化。部分優化包括引入重選。這對於直接從狀態派生的數據非常有效。但是從其他道具派生的數據呢?從反應道具中有效計算派生數據
實施例:
我們有3個部件Feed
FeedItem
和Contact
(聯繫是用於顯示用戶的聯繫人信息的分量)。
a FeedItem
獲取表示供稿中項目的對象,供稿項目的其中一個屬性是演員對象。這個對象就像一個用戶,但有點不同(這很糟糕,但不能改變)。這意味着如果我想爲該演員渲染一個Contact
,我需要創建一個新的對象,將屬性從演員映射到用戶。在每個渲染上創建一個新對象是一種性能反模式,因爲我們正在使用淺層平等檢查。
e.g代碼:
<Contact
user={{
photoUrl: actor.photo.smallPhotoUrl,
Id: actor.id,
Name: actor.name,
}}
</Contact>
是否有解決這個模式?重新選擇僅支持來自redux狀態的派生數據,這基本上是從道具派生的數據。
不知道如果我理解正確的,但重新選擇能夠選擇的道具:https://github.com/reactjs/reselect#accessing-react -props-in-selectors – janhartmann
這是針對狀態和道具,我只是想根據道具有效地計算派生數據 – davegri