Memoize components
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
*/
|
||||
|
||||
import Box, { BoxProps } from '@mui/material/Box';
|
||||
import { ReactNode, useCallback, useMemo, useRef } from 'react';
|
||||
import { memo, ReactNode, useCallback, useMemo, useRef } from 'react';
|
||||
import ClickAwayListener from '@mui/material/ClickAwayListener';
|
||||
import { TypographyProps } from '@mui/material/Typography';
|
||||
import { StackProps } from '@mui/material/Stack';
|
||||
@@ -218,7 +218,7 @@ const BaseReaderProgressBar = ({
|
||||
};
|
||||
|
||||
export const ReaderProgressBar = withPropsFrom(
|
||||
BaseReaderProgressBar,
|
||||
memo(BaseReaderProgressBar),
|
||||
[
|
||||
useReaderProgressBarContext,
|
||||
() => ({ openPage: ReaderControls.useOpenPage() }),
|
||||
|
||||
@@ -12,7 +12,7 @@ import SkipNextIcon from '@mui/icons-material/SkipNext';
|
||||
import Stack from '@mui/material/Stack';
|
||||
import { alpha } from '@mui/material/styles';
|
||||
import Box from '@mui/material/Box';
|
||||
import { useLayoutEffect } from 'react';
|
||||
import { memo, useLayoutEffect } from 'react';
|
||||
import { ReaderProgressBar } from '@/modules/reader/components/overlay/progress-bar/ReaderProgressBar.tsx';
|
||||
import { ReaderProgressBarSlot } from '@/modules/reader/components/overlay/progress-bar/ReaderProgressBarSlot.tsx';
|
||||
import { userReaderStatePagesContext } from '@/modules/reader/contexts/state/ReaderStatePagesContext.tsx';
|
||||
@@ -186,7 +186,7 @@ const BaseMobileReaderProgressBar = ({
|
||||
};
|
||||
|
||||
export const MobileReaderProgressBar = withPropsFrom(
|
||||
BaseMobileReaderProgressBar,
|
||||
memo(BaseMobileReaderProgressBar),
|
||||
[useReaderStateChaptersContext, useReaderOverlayContext, useReaderProgressBarContext],
|
||||
['previousChapter', 'nextChapter', 'isVisible', 'setIsMaximized'],
|
||||
);
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
|
||||
import { alpha, darken, lighten, useTheme } from '@mui/material/styles';
|
||||
import Box from '@mui/material/Box';
|
||||
import { memo } from 'react';
|
||||
import { ReaderProgressBar } from '@/modules/reader/components/overlay/progress-bar/ReaderProgressBar.tsx';
|
||||
import { ReaderProgressBarSlot } from '@/modules/reader/components/overlay/progress-bar/ReaderProgressBarSlot.tsx';
|
||||
import { userReaderStatePagesContext } from '@/modules/reader/contexts/state/ReaderStatePagesContext.tsx';
|
||||
@@ -271,7 +272,7 @@ const BaseStandardReaderProgressBar = ({
|
||||
};
|
||||
|
||||
export const StandardReaderProgressBar = withPropsFrom(
|
||||
BaseStandardReaderProgressBar,
|
||||
memo(BaseStandardReaderProgressBar),
|
||||
[
|
||||
useNavBarContext,
|
||||
useReaderProgressBarContext,
|
||||
|
||||
Reference in New Issue
Block a user