From f28e920e152e7fa4341dc81adb1b66fa4391131c Mon Sep 17 00:00:00 2001 From: codytseng Date: Fri, 7 Nov 2025 23:22:28 +0800 Subject: [PATCH] perf: reduce re-renders in NoteList --- src/components/NoteList/index.tsx | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/components/NoteList/index.tsx b/src/components/NoteList/index.tsx index 856e9cdd..084bbb70 100644 --- a/src/components/NoteList/index.tsx +++ b/src/components/NoteList/index.tsx @@ -47,7 +47,7 @@ const NoteList = forwardRef( hideUntrustedNotes = false, areAlgoRelays = false, showRelayCloseReason = false, - pinnedEventIds = [], + pinnedEventIds, filterFn }: { subRequests: TFeedSubRequest[] @@ -82,7 +82,7 @@ const NoteList = forwardRef( const shouldHideEvent = useCallback( (evt: Event) => { const pinnedEventHexIdSet = new Set() - pinnedEventIds.forEach((id) => { + pinnedEventIds?.forEach((id) => { try { const { type, data } = decode(id) if (type === 'nevent') { @@ -110,7 +110,7 @@ const NoteList = forwardRef( return false }, - [hideUntrustedNotes, mutePubkeySet, pinnedEventIds, isEventDeleted, filterFn] + [hideUntrustedNotes, mutePubkeySet, JSON.stringify(pinnedEventIds), isEventDeleted, filterFn] ) const filteredNotes = useMemo(() => { @@ -311,7 +311,7 @@ const NoteList = forwardRef( return () => { promise.then((closer) => closer()) } - }, [JSON.stringify(subRequests), refreshCount, showKinds]) + }, [JSON.stringify(subRequests), refreshCount, JSON.stringify(showKinds)]) useEffect(() => { const options = { @@ -373,9 +373,7 @@ const NoteList = forwardRef( const list = (
- {pinnedEventIds.map((id) => ( - - ))} + {pinnedEventIds?.map((id) => )} {filteredNotes.map(({ key, event, reposters }) => (