1 回答

TA貢獻1873條經驗 獲得超9個贊
我認為直接對朋友進行排序會更好。useEffect 和 state 是不必要的。為了保持這種優(yōu)化,你應該使用useMemo,但你需要確保props.friendsList在每次渲染時都不會改變:
const Friends: React.FC<FriendsProps> = props => {
const sortedFriends = React.useMemo(
() =>
props.friendsList.sort((friendA, friendB) => {
return friendA.online === friendB.online ? 0 : friendA.online ? -1 : 1;
}),
[props.friendsList]
);
console.log({sortedFriends});
return (
<div className='friends-list'>
{/* now map over your sortedFriends array */}
{sortedFriends.map((friendInfo, id) => {
// add a key when you're mapping over an array
return <h1 key={id}>{friendInfo.firstName}</h1>;
})}
</div>
);
};
添加回答
舉報