diff --git a/apps/src/tests/Test2819.tsx b/apps/src/tests/Test2819.tsx new file mode 100644 index 0000000000..d51206e0eb --- /dev/null +++ b/apps/src/tests/Test2819.tsx @@ -0,0 +1,40 @@ +import React from 'react'; +import { Text, View } from 'react-native'; +import PressableWithFeedback from '../shared/PressableWithFeedback'; +import { Gesture, GestureDetector, GestureHandlerRootView } from 'react-native-gesture-handler'; + + +function SharedPressable() { + return ( + + + Regular pressable + + + ); +} + +function HomeOne() { + return ( + + + + ); +} + +export function App() { + const gesture = Gesture.Pan() + .onBegin(() => { + 'worklet'; + }) + .enabled(true); // Change this to `false` to fix the issue. + return ( + + + + + + ); +} + +export default App; diff --git a/apps/src/tests/index.ts b/apps/src/tests/index.ts index 29c21b2c97..86ebb0e46f 100644 --- a/apps/src/tests/index.ts +++ b/apps/src/tests/index.ts @@ -126,6 +126,7 @@ export { default as Test2717 } from './Test2717'; export { default as Test2767 } from './Test2767'; export { default as Test2789 } from './Test2789'; export { default as Test2811 } from './Test2811'; +export { default as Test2819 } from './Test2819'; export { default as TestScreenAnimation } from './TestScreenAnimation'; export { default as TestScreenAnimationV5 } from './TestScreenAnimationV5'; export { default as TestHeader } from './TestHeader'; diff --git a/src/gesture-handler/ScreenGestureDetector.tsx b/src/gesture-handler/ScreenGestureDetector.tsx index 14edd7520c..2afab56309 100644 --- a/src/gesture-handler/ScreenGestureDetector.tsx +++ b/src/gesture-handler/ScreenGestureDetector.tsx @@ -24,7 +24,9 @@ import { } from './constraints'; import { GestureProviderProps } from '../types'; -const EmptyGestureHandler = Gesture.Fling(); +// The detector is disabled to work around issue with pressables +// losing focus. See https://github.com/software-mansion/react-native-screens/pull/2819 +const EmptyGestureHandler = Gesture.Fling().enabled(false); const ScreenGestureDetector = ({ children,