Skip to content

Commit 952e6ce

Browse files
Fixed infinite re-rendering when you delete a cancer type (#533)
1 parent 53a5896 commit 952e6ce

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

src/main/webapp/app/pages/curation/list/FirebaseList.tsx

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,14 @@ function FirebaseList<T>({ path, itemBuilder, pushDirection, scrollOptions, filt
6060
if (!snapshot.val() || !listItemKeys) {
6161
return;
6262
}
63-
6463
const currentKeys = Object.keys(snapshot.val() as Record<string, T>);
65-
if (currentKeys.length !== listItemKeys.length + addedListItemKeys.length) {
66-
setAddedListItemKeys(currentKeys.filter(x => !listItemKeys.includes(x)));
64+
const newKeys = currentKeys.filter(x => !listItemKeys.includes(x));
65+
66+
// Only update if newKeys differ from addedListItemKeys
67+
const sameLength = newKeys.length === addedListItemKeys.length;
68+
const sameContent = sameLength && newKeys.every(x => addedListItemKeys.includes(x));
69+
if (!sameContent) {
70+
setAddedListItemKeys(newKeys);
6771
}
6872
});
6973

0 commit comments

Comments
 (0)