Convert Search page to functional component (#6268)

This commit is contained in:
Tom Moor
2023-12-09 21:54:39 -05:00
committed by GitHub
parent 3f3d7b4978
commit 5dfa6a6011
7 changed files with 224 additions and 376 deletions

View File

@@ -14,6 +14,8 @@ type RequestResponse<T> = {
next: () => void;
/** Page number */
page: number;
/** Offset */
offset: number;
/** Marks the end of pagination */
end: boolean;
};
@@ -64,9 +66,7 @@ export default function usePaginatedRequest<T = unknown>(
uniqBy((prev ?? []).concat(response.slice(0, displayLimit)), "id")
);
setPage((prev) => prev + 1);
if (response.length <= displayLimit) {
setEnd(true);
}
setEnd(response.length <= displayLimit);
}
}, [response, displayLimit, loading]);
@@ -87,5 +87,12 @@ export default function usePaginatedRequest<T = unknown>(
setOffset((prev) => prev + displayLimit);
}, [displayLimit]);
return { data, next, loading, error, page, end };
React.useEffect(() => {
setEnd(false);
setData(undefined);
setPage(0);
setOffset(0);
}, [requestFn]);
return { data, next, loading, error, page, offset, end };
}