Address search virtualization review follow-ups
This commit is contained in:
@@ -70,6 +70,7 @@ function SearchPageClient() {
|
||||
|
||||
const router = useRouter();
|
||||
const searchParams = useSearchParams();
|
||||
const submittedSearchQuery = searchParams.get('q')?.trim() || '';
|
||||
const currentQueryRef = useRef<string>('');
|
||||
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(() => {
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user