#5826·NativeBase

Error "_reactNative.Backhander.removeEventListener is not a function"

Author: MohammadKanaanCreated Jul 16, 2025Updated Jul 28, 2025

Hi!

Firstly, thanks for your work on this project!

Today I used patch-package to patch [email protected] for the project I'm working on.

I got the error "_reactNative.Backhander.removeEventListener is not a function"

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..af443fa 100644
--- a/node_modules/native-base/src/hooks/useKeyboardDismissable.ts
+++ b/node_modules/native-base/src/hooks/useKeyboardDismissable.ts
@@ -48,12 +48,17 @@ export function useBackHandler({ enabled, callback }: IParams) {
       callback();
       return true;
     };
+    let subscription: any;
     if (enabled) {
-      BackHandler.addEventListener('hardwareBackPress', backHandler);
-    } else {
-      BackHandler.removeEventListener('hardwareBackPress', backHandler);
+      subscription = BackHandler.addEventListener(
+        'hardwareBackPress',
+        backHandler
+      );
     }
-    return () =>
-      BackHandler.removeEventListener('hardwareBackPress', backHandler);
+    return () => {
+      if (subscription && typeof subscription.remove === 'function') {
+        subscription.remove();
+      }
+    };
   }, [enabled, callback]);
 }

This issue body was partially generated by patch-package.