From c79f7cc874d35bece298cb4429fa0fc7c6bc5681 Mon Sep 17 00:00:00 2001 From: schroda <50052685+schroda@users.noreply.github.com> Date: Sun, 29 Dec 2024 17:21:37 +0100 Subject: [PATCH] Improve "page load state" updates Changes of d6ff85fdd37a24ecef29b3e10b7387fbba6cdecc decreased the render performance due to the "onLoad" function changing and causing all pages to re-render. --- src/modules/reader/components/viewer/ReaderViewer.tsx | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/modules/reader/components/viewer/ReaderViewer.tsx b/src/modules/reader/components/viewer/ReaderViewer.tsx index f1014553..da9b72e7 100644 --- a/src/modules/reader/components/viewer/ReaderViewer.tsx +++ b/src/modules/reader/components/viewer/ReaderViewer.tsx @@ -192,9 +192,15 @@ const BaseReaderViewer = forwardRef( return; } - setPageLoadStates((statePageLoadStates) => statePageLoadStates.toSpliced(index, 1, { loaded: true })); + setPageLoadStates((statePageLoadStates) => { + if (statePageLoadStates[index].loaded) { + return statePageLoadStates; + } + + return statePageLoadStates.toSpliced(index, 1, { loaded: true }); + }); }, - [actualPages, readingMode, pageLoadStates], + [actualPages, readingMode], ); const onError = useCallback((pageIndex: number) => {