@@ -76,7 +76,7 @@ const PaperProvider = (props: Props) => {
7676 } ;
7777 } , [ props . theme , isOnlyVersionInTheme ] ) ;
7878
79- const getTheme = ( ) => {
79+ const theme = React . useMemo ( ( ) => {
8080 const themeVersion = props . theme ?. version || 3 ;
8181 const scheme = colorScheme || 'light' ;
8282 const defaultThemeBase = defaultThemesByVersion [ themeVersion ] [ scheme ] ;
@@ -95,21 +95,24 @@ const PaperProvider = (props: Props) => {
9595 ...extendedThemeBase ,
9696 isV3 : extendedThemeBase . version === 3 ,
9797 } ;
98- } ;
98+ } , [ colorScheme , props . theme , reduceMotionEnabled ] ) ;
9999
100100 const { children, settings } = props ;
101101
102+ const settingsValue = React . useMemo (
103+ ( ) => ( {
104+ icon : MaterialCommunityIcon ,
105+ rippleEffectEnabled : true ,
106+ ...settings ,
107+ } ) ,
108+ [ settings ]
109+ ) ;
110+
102111 return (
103112 < SafeAreaProviderCompat >
104113 < PortalHost >
105- < SettingsProvider
106- value = { {
107- icon : MaterialCommunityIcon ,
108- rippleEffectEnabled : true ,
109- ...settings ,
110- } }
111- >
112- < ThemeProvider theme = { getTheme ( ) } > { children } </ ThemeProvider >
114+ < SettingsProvider value = { settingsValue } >
115+ < ThemeProvider theme = { theme } > { children } </ ThemeProvider >
113116 </ SettingsProvider >
114117 </ PortalHost >
115118 </ SafeAreaProviderCompat >
0 commit comments