-
Notifications
You must be signed in to change notification settings - Fork 2.4k
BackHandler Fix. #5830
Copy link
Copy link
Open
Description
Hi! 👋
Firstly, thanks for your work on this project! 🙂
Today I used patch-package to patch native-base@3.4.28 for the project I'm working on.
Here is the diff that solved my problem:
diff --git a/node_modules/native-base/src/hooks/useKeyboardDismissable.ts b/node_modules/native-base/src/hooks/useKeyboardDismissable.ts
index f3cfa44..8074119 100644
--- a/node_modules/native-base/src/hooks/useKeyboardDismissable.ts
+++ b/node_modules/native-base/src/hooks/useKeyboardDismissable.ts
@@ -42,18 +42,18 @@ export const useKeyboardDismissable = ({ enabled, callback }: IParams) => {
useBackHandler({ enabled, callback });
};
+
export function useBackHandler({ enabled, callback }: IParams) {
useEffect(() => {
- let backHandler = () => {
+ if (!enabled) return;
+
+ const backHandler = () => {
callback();
return true;
};
- if (enabled) {
- BackHandler.addEventListener('hardwareBackPress', backHandler);
- } else {
- BackHandler.removeEventListener('hardwareBackPress', backHandler);
- }
- return () =>
- BackHandler.removeEventListener('hardwareBackPress', backHandler);
+
+ const subscription = BackHandler.addEventListener('hardwareBackPress', backHandler);
+
+ return () => subscription.remove();
}, [enabled, callback]);
}This issue body was partially generated by patch-package.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels