diff --git a/client/src/components/PDFViewer/PDFViewer.tsx b/client/src/components/PDFViewer/PDFViewer.tsx index bf51ec4..c6b8447 100644 --- a/client/src/components/PDFViewer/PDFViewer.tsx +++ b/client/src/components/PDFViewer/PDFViewer.tsx @@ -57,15 +57,18 @@ export const PDFViewer = ({ file, className }: PDFViewerProps): JSX.Element => { setNumPages(numPages); } - const changePage = (offset: number) => - setPageNumber((prevPage) => - offset > 0 ? Math.min(prevPage + offset, numPages) : Math.max(prevPage + offset, 1) - ); + const changePage = useCallback( + (offset: number) => + setPageNumber((prevPage) => + offset > 0 ? Math.min(prevPage + offset, numPages) : Math.max(prevPage + offset, 1) + ), + [numPages] + ); - const goToNextPage = () => changePage(1); - const goToPrevPage = () => changePage(-1); - const goToFirstPage = () => setPageNumber(1); - const goToLastPage = () => setPageNumber(numPages); + const goToNextPage = useCallback(() => changePage(1), [changePage]); + const goToPrevPage = useCallback(() => changePage(-1), [changePage]); + const goToFirstPage = useCallback(() => setPageNumber(1), [setPageNumber]); + const goToLastPage = useCallback(() => setPageNumber(numPages), [setPageNumber, numPages]); const isLoading = useMemo( () => renderedPageNumber !== pageNumber,