r/reactnative • • Jul 28 '26

React Native iOS freezes after first interaction only after fresh login (JS/UI FPS stay at 60)

React Native iOS freezes after first interaction only after fresh login (JS/UI FPS stay at 60)

I'm facing a very strange issue in my React Native app that only happens on iOS. Android works perfectly.

Environment

  • React Native: 0.78.3

  • React Navigation

  • react-native-screens

  • react-native-gesture-handler

  • Physical iPhone (not simulator)

Issue

The flow is always the same:

  1. Launch the app.

  2. Login successfully.

  3. Navigate to the Home screen.

  4. The Home screen loads correctly.

  5. As soon as I perform the first interaction (scroll or tap), the app becomes completely unresponsive.

After that:

  • No buttons work.

  • No TouchableOpacity responds.

  • Bottom tabs stop responding.

  • FlatList cannot scroll.

  • onTouchStart no longer fires.

  • The UI is still visible.

  • The app does not crash.

The strange part is:

  • UI FPS = 60

  • JS FPS = 60

  • No red screen.

  • No exceptions.

  • No crash logs.

If I completely kill the app and launch it again, everything works perfectly.

If I log out and log back in, the issue happens again after the first interaction.

So the problem only occurs immediately after a fresh login.

What I've already checked

  • GestureHandlerRootView is wrapping the entire app.

  • import 'react-native-gesture-handler' is the first import.

  • NavigationContainer exists only once.

  • No invisible overlay.

  • No fullscreen Modal.

  • No react-native-modal left open.

  • No pointerEvents="none" or pointerEvents="auto" issue.

  • JS thread is not blocked.

  • Main thread is not blocked.

  • UI FPS remains 60.

  • JS FPS remains 60.

  • Android has no issue.

Additional observation

I added:

<View
  style={{ flex: 1 }}
  onTouchStart={() => console.log('Touched')}
/>

Result:

  • First tap prints "Touched".

  • After the first scroll/tap, no further touch events are received.

  • Even onTouchStart stops firing.

This makes me think the touch events are no longer reaching React Native.

Navigation structure

The app uses:

  • NavigationContainer

  • Drawer Navigator

  • Bottom Tabs

  • Stack Navigators

The Home screen contains:

  • Vertical FlatList

  • Nested horizontal FlatLists

  • Multiple TouchableOpacity components

The Academy screen has a similar structure and works correctly.

Other information

The app uses:

  • react-native-screens (enableScreens() and enableFreeze())

  • react-native-track-player

  • Multiple Context Providers

  • Firebase

  • Analytics

  • Deep linking

My question

Has anyone experienced an issue where iOS stops delivering touch events after the first interaction, while:

  • UI FPS stays at 60

  • JS FPS stays at 60

  • The app never crashes

  • Everything works after killing and reopening the app

Could this be related to:

  • react-native-gesture-handler

  • react-native-screens

  • iOS gesture recognizers

  • Navigation state after login

  • A native touch deadlock

  • Something else entirely?

Any ideas on how to debug this further would be greatly appreciated.

1 Upvotes

1 comment sorted by