fix(Profile): fix hasMore check

This commit is contained in:
kyuuseiryuu 2026-01-30 12:03:09 +09:00
parent 8831ac456b
commit bc8a783edc

View File

@ -30,13 +30,14 @@ export function GameTable(props: Props) {
const [page, setPage] = useState(props.data?.length ? 1 :0); const [page, setPage] = useState(props.data?.length ? 1 :0);
const fetchNextPage = useRequest<GamesData[], []>(async () => { const fetchNextPage = useRequest<GamesData[], []>(async () => {
const newPage = page + 1; const newPage = page + 1;
if (page === 0) return [];
const resp = await fetch(`/api/user/${props.uid}/games?page=${newPage}`); const resp = await fetch(`/api/user/${props.uid}/games?page=${newPage}`);
const nextPageData: GamesData[] = await resp.json(); const nextPageData: GamesData[] = await resp.json();
setDisplayData(data => [...data, ...nextPageData]) setDisplayData(data => [...data, ...nextPageData])
setPage(newPage); setPage(newPage);
return nextPageData; return nextPageData;
}, { manual: true, refreshDeps: [page] }); }, { manual: true, refreshDeps: [page] });
const hasMore = useMemo(() => page < 2 || (fetchNextPage.data?.length || 0) === 10, [page, fetchNextPage]); const hasMore = useMemo(() => (props.data?.length === 10 && page < 2) || (fetchNextPage.data?.length || 0) === 10, [page, fetchNextPage]);
return ( return (
<> <>