GeekyAnts / GeekyAnts/NativeBase

Action Sheet Patch

Open
#5,823 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
20.4k
Forks
2.4k
PR merge metrics
No merged PRs in 30d

Description

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.

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]);
}
+
```

This issue body was [partially generated by patch-package](https://github.com/ds300/patch-package/issues/296).

Contributor guide

Open the contributing guide

Research direction

Start in node_modules/native-base/src/hooks/useKeyboardDismissable.ts, then locate the corresponding source file in the repository and read useBackHandler. Compare the current implementation with the supplied diff and verify the Action Sheet behavior on the affected React Native version. Done means the patch is incorporated in the project source rather than applied only through patch-package.

Written by the indexing model from the issue text.

Assessment

Tech stack
react-native, typescript
Domain
mobile
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.