Expo and React Navigation V5

Is there any guidelines as to what exact versions of react navigation (v5) expo fully supports (or vice versa)? I remember that previously the upgrading guide always mentioned what version of react navigation the newest SDK supported.

I’m not quite sure what versions to use. Right now I’m on Expo SDK 36 and I’m using v5.0.6 of native/drawer/stack modules of react navigation. If I upgrade to latest versions (5.0.8/5.1.0/5.1.0), my application starts to lag tremendously on Android in certain circumstances. Funny thing is, if I manually use react-native-screens (enableScreens) the lag stops, but then the application crashes on certain situation. And I believe I shouldn’t even need to use react-native-screens manually, when I’m not using react navigations native-stack.

Granted, I might not have the cleanest structure in my app, but I have managed with it to this day since React Navigation v2.

As I understood, react-navigation relies on following dependencies:


and with expo, you install compatible versions of these (expo install). So could it be that there are then some compatibility issues with these versus the react navigation modules versions?


The latest version of react-navigation and its dependencies are always compatible with the latest Expo SDK version.

Updating from 5.0.6 to latest of those packages causing performance issues seems like something that you might want to try to isolate and understand then report an issue about on the react-navigation repo :slight_smile:

In terms of react-native-screens - this library is changing rapidly and getting a lot better, and your experience of having it crash in some situations is not unusual. In SDK37 we will include a new and more stable version that supports “native stack” - I expect this will be pretty helpful for your performance issues, provided that your stack config works within its constraints.


This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.