Hi! 👋 Firstly, thanks for your work on this project! 🙂 Today I used [patch-package](https://github.com/ds300/patch-package) to patch `native-base@3.4.28` for the project I'm working on. <!-- 🔺️🔺️🔺️ PLEASE REPLACE THIS BLOCK with a description of your problem, and any other relevant context 🔺️🔺️🔺️ --> Here is the diff that solved my problem: ```diff diff --git a/node_modules/native-base/src/hooks/useKeyboardDismissable.ts b/node_modules/native-base/src/hooks/useKeyboardDismissable.ts index f3cfa44..bf73475 100644 --- a/node_modules/native-base/src/hooks/useKeyboardDismissable.ts +++ b/node_modules/native-base/src/hooks/useKeyboardDismissable.ts @@ -44,16 +44,16 @@ export const useKeyboardDismissable = ({ enabled, callback }: IParams) => { export function useBackHandler({ enabled, callback }: IParams) { useEffect(() => { - let backHandler = () => { + if (!enabled) return; + + const subscription = BackHandler.addEventListener('hardwareBackPress', () => { callback(); return true; + }); + + return () => { + subscription?.remove?.(); // ✅ This is the correct way in RN 0.72+ }; - if (enabled) { - BackHandler.addEventListener('hardwareBackPress', backHandler); - } else { - BackHandler.removeEventListener('hardwareBackPress', backHandler); - } - return () => - BackHandler.removeEventListener('hardwareBackPress', backHandler); }, [enabled, callback]); } + ``` <em>This issue body was [partially generated by patch-package](https://github.com/ds300/patch-package/issues/296).</em>
Activity