Address search virtualization review follow-ups
This commit is contained in:
@@ -70,6 +70,7 @@ function SearchPageClient() {
|
|||||||
|
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const searchParams = useSearchParams();
|
const searchParams = useSearchParams();
|
||||||
|
const submittedSearchQuery = searchParams.get('q')?.trim() || '';
|
||||||
const currentQueryRef = useRef<string>('');
|
const currentQueryRef = useRef<string>('');
|
||||||
const [searchQuery, setSearchQuery] = useState('');
|
const [searchQuery, setSearchQuery] = useState('');
|
||||||
const [isLoading, setIsLoading] = useState(false);
|
const [isLoading, setIsLoading] = useState(false);
|
||||||
@@ -360,9 +361,9 @@ function SearchPageClient() {
|
|||||||
if (!exactSearch) return searchResults;
|
if (!exactSearch) return searchResults;
|
||||||
|
|
||||||
return searchResults.filter((item) =>
|
return searchResults.filter((item) =>
|
||||||
titleContainsQuery(item.title, currentQueryRef.current)
|
titleContainsQuery(item.title, submittedSearchQuery)
|
||||||
);
|
);
|
||||||
}, [searchResults, searchQuery, exactSearch]);
|
}, [searchResults, submittedSearchQuery, exactSearch]);
|
||||||
|
|
||||||
// 聚合后的结果(按标题和年份分组)
|
// 聚合后的结果(按标题和年份分组)
|
||||||
const aggregatedResults = useMemo(() => {
|
const aggregatedResults = useMemo(() => {
|
||||||
|
|||||||
@@ -250,7 +250,14 @@ export default function VirtualScrollableGrid({
|
|||||||
resizeObserver?.disconnect();
|
resizeObserver?.disconnect();
|
||||||
if (rafRef.current != null) window.cancelAnimationFrame(rafRef.current);
|
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 columns = layout.columns;
|
||||||
const totalRows = layout.totalRows;
|
const totalRows = layout.totalRows;
|
||||||
|
|||||||
Reference in New Issue
Block a user