Remove context usage from ReaderChapterViewer

In case many chapters are rendered, even just the HOC wrapper component re-render due to the context change increases the render time.

Thus, getting rid of these HOC wrapper re-renders by moving the context usage up to the ReaderViewer decreases the render time.
This commit is contained in:
schroda
2025-02-03 15:10:13 +01:00
parent 4a9d2903b8
commit b01b23b069
9 changed files with 43 additions and 52 deletions

View File

@@ -90,6 +90,8 @@ const BaseReaderViewer = forwardRef(
readerWidth,
pageScaleMode,
shouldOffsetDoubleSpreads,
imagePreLoadAmount,
pageGap,
setScrollbarXSize,
setScrollbarYSize,
isVisible: isOverlayVisible,
@@ -120,7 +122,13 @@ const BaseReaderViewer = forwardRef(
> &
Pick<
IReaderSettings,
'readingMode' | 'readingDirection' | 'readerWidth' | 'pageScaleMode' | 'shouldOffsetDoubleSpreads'
| 'readingMode'
| 'readingDirection'
| 'readerWidth'
| 'pageScaleMode'
| 'shouldOffsetDoubleSpreads'
| 'imagePreLoadAmount'
| 'pageGap'
> &
Pick<TReaderScrollbarContext, 'setScrollbarXSize' | 'setScrollbarYSize'> &
Pick<TReaderOverlayContext, 'isVisible' | 'setIsVisible'> &
@@ -319,6 +327,8 @@ const BaseReaderViewer = forwardRef(
)}
setReaderStateChapters={setReaderStateChapters}
setTransitionPageMode={setTransitionPageMode}
pageGap={pageGap}
imagePreLoadAmount={imagePreLoadAmount}
/>
);
})}
@@ -355,6 +365,8 @@ export const ReaderViewer = withPropsFrom(
'readerWidth',
'pageScaleMode',
'shouldOffsetDoubleSpreads',
'imagePreLoadAmount',
'pageGap',
'transitionPageMode',
'setScrollbarXSize',
'setScrollbarYSize',