Fix PackageCard memo comparator to include callback props

Prevents stale closures when callback identities change but data props remain the same.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Sucukdeluxe 2026-02-28 18:09:51 +01:00
parent 8700db4a37
commit 05a0c4fd55

View File

@ -1292,6 +1292,20 @@ const PackageCard = memo(function PackageCard({ pkg, items, packageSpeed, isFirs
if (prev.items.length !== next.items.length) { if (prev.items.length !== next.items.length) {
return false; return false;
} }
if (prev.onCancel !== next.onCancel
|| prev.onMoveUp !== next.onMoveUp
|| prev.onMoveDown !== next.onMoveDown
|| prev.onToggle !== next.onToggle
|| prev.onRemoveItem !== next.onRemoveItem
|| prev.onStartEdit !== next.onStartEdit
|| prev.onFinishEdit !== next.onFinishEdit
|| prev.onEditChange !== next.onEditChange
|| prev.onToggleCollapse !== next.onToggleCollapse
|| prev.onDragStart !== next.onDragStart
|| prev.onDrop !== next.onDrop
|| prev.onDragEnd !== next.onDragEnd) {
return false;
}
for (let index = 0; index < prev.items.length; index += 1) { for (let index = 0; index < prev.items.length; index += 1) {
const a = prev.items[index]; const a = prev.items[index];
const b = next.items[index]; const b = next.items[index];