From a9fa674f23cd2b70121d58d4f574cda26d265660 Mon Sep 17 00:00:00 2001 From: ShiGuangAlex Date: Sat, 11 Apr 2026 17:33:44 +0800 Subject: [PATCH] Address search virtualization review follow-ups --- src/app/search/page.tsx | 5 +++-- src/components/VirtualScrollableGrid.tsx | 9 ++++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/app/search/page.tsx b/src/app/search/page.tsx index 7687cfb..f02bb2c 100644 --- a/src/app/search/page.tsx +++ b/src/app/search/page.tsx @@ -70,6 +70,7 @@ function SearchPageClient() { const router = useRouter(); const searchParams = useSearchParams(); + const submittedSearchQuery = searchParams.get('q')?.trim() || ''; const currentQueryRef = useRef(''); const [searchQuery, setSearchQuery] = useState(''); const [isLoading, setIsLoading] = useState(false); @@ -360,9 +361,9 @@ function SearchPageClient() { if (!exactSearch) return searchResults; return searchResults.filter((item) => - titleContainsQuery(item.title, currentQueryRef.current) + titleContainsQuery(item.title, submittedSearchQuery) ); - }, [searchResults, searchQuery, exactSearch]); + }, [searchResults, submittedSearchQuery, exactSearch]); // 聚合后的结果(按标题和年份分组) const aggregatedResults = useMemo(() => { diff --git a/src/components/VirtualScrollableGrid.tsx b/src/components/VirtualScrollableGrid.tsx index 816d3bc..9298906 100644 --- a/src/components/VirtualScrollableGrid.tsx +++ b/src/components/VirtualScrollableGrid.tsx @@ -250,7 +250,14 @@ export default function VirtualScrollableGrid({ resizeObserver?.disconnect(); if (rafRef.current != null) window.cancelAnimationFrame(rafRef.current); }; - }, [children.length, overscanRows, mobileColumns, minItemWidth, maxContentWidth]); + }, [ + children.length, + gridClassName, + overscanRows, + mobileColumns, + minItemWidth, + maxContentWidth, + ]); const columns = layout.columns; const totalRows = layout.totalRows;