diff --git a/packages/react-native/Libraries/Utilities/useColorScheme.js b/packages/react-native/Libraries/Utilities/useColorScheme.js index 3ddd745bc669ef..180a32e03223dc 100644 --- a/packages/react-native/Libraries/Utilities/useColorScheme.js +++ b/packages/react-native/Libraries/Utilities/useColorScheme.js @@ -15,12 +15,11 @@ import type {ColorSchemeName} from './NativeAppearance'; import Appearance from './Appearance'; import {useSyncExternalStore} from 'react'; +const subscribe = (onStoreChange: () => void) => { + const appearanceSubscription = Appearance.addChangeListener(onStoreChange); + return () => appearanceSubscription.remove(); +}; + export default function useColorScheme(): ?ColorSchemeName { - return useSyncExternalStore( - callback => { - const appearanceSubscription = Appearance.addChangeListener(callback); - return () => appearanceSubscription.remove(); - }, - () => Appearance.getColorScheme(), - ); + return useSyncExternalStore(subscribe, Appearance.getColorScheme); }