diff --git a/src/core/color-mode/hooks.tsx b/src/core/color-mode/hooks.tsx index 8e7302a02..1c22ea45b 100644 --- a/src/core/color-mode/hooks.tsx +++ b/src/core/color-mode/hooks.tsx @@ -31,8 +31,17 @@ export const useAppState = () => { () => ({ getCurrentValue: () => AppState.currentState, subscribe: (callback: () => void) => { - AppState.addEventListener('change', callback); - return () => AppState.removeEventListener('change', callback); + const subsription = AppState.addEventListener('change', callback); + return () => { + if (AppState.removeEventListener) { + // React Native < 0.65 + AppState.removeEventListener('change', callback); + } else { + // React Native >= 0.65 + // @ts-ignore:next-line ignoring ts error as devDependency contains "@types/react-native" < 0.65 + subsription.remove(); + } + }; }, }), []