HomeGuidesReferenceLearn

Routing and Navigation

Learn how to get started with routing and navigation in your Expo project.


Routing and navigation refer to organizing an app into different screens, mapping screens to URLs, moving between those screens, and displaying the appropriate platform-specific navigation-related user interface elements (for example, tabs, navigation bars, screen transition animations and gestures, and drawers). Navigation has very nuanced behavior on each platform and is extremely complicated to build entirely on your own, so you should always use a library to ensure that your app looks and behaves as users expect.

Expo Router

Expo Router brings the best routing concepts from the web to native Android and iOS apps. Every file in the app directory automatically becomes a route in your mobile navigation, making it easier than ever to build, maintain, and scale your project. It's built on top of our powerful React Navigation suite enabling truly native navigation. The entire deep linking system is automatically generated live, so users can share links to any route in your app.

Getting started

To quickly get started with Expo Router, run the following command to create a project with expo-router setup:

Terminal
npx create-expo-app@latest -e with-router
Expo Router documentation

For more in-depth information and guides about Expo Router, check out the documentation.

FAQ

Can I use Next.js routing for web?

Yes, you can use Next.js routing for the web. You can read more about this in Using Next.js with Expo for Web.

Can I use React Navigation?

Yes! React Navigation is one of the most popular navigation libraries in the React Native ecosystem. It is maintained by the Expo team and supports Android, iOS, and the web.

React Navigation includes support for common navigation patterns, and it's fully customizable so you can achieve any navigation pattern, even if it's not built into the library.

See the Getting started guide in React Navigation documentation for more information on how to get started.

Can I use React Native Navigation by Wix?

This library is not available in the Expo Go app and is not yet compatible with expo-dev-client.

We recommend createNativeStackNavigator from React Navigation to use Android and iOS native navigation APIs.

Next steps

Linking

Create links and handle incoming URL requests for your app.

Deep linking

Connect an app to a website to enable universal links and deep links.