In this article, we’ll discuss React Navigation for React Native, which is used to easily provide navigation functionalities to your mobile application. After a small introduction and overview of some common navigation types, we’ll be setting up a sample project with different examples of navigation, provided through GitHub gists.
Before we begin with React Navigation
Keep in mind that this article will serve as a general overview and introduction to React Navigation. For more information or advanced subjects, please review the official documentation here.
Minimum requirements
At the moment of publication, React Navigation 6 is the latest version and the one that we’ll be using. React Navigation 6 requires at least react-native@0.63.0. If you’re using Expo, your SDK version should be at least 41.
What is React Navigation?
React Navigation is an open-source, extensible and easy-to-use library used to implement navigation functionalities in a mobile application under React Native (or Expo!). It’s based on JavaScript, so it’s fully customizable and comes out of the box with basic components for common navigation requirements on both iOS and Android, such as tabbed, stack or drawer navigation components, all with a great look and feel.
Now that we have an overview of what React Navigation is, let’s expand a bit on why you should use it.
Why use React Navigation?
- It’s very easy to get started with React Nav, especially for the basics.
- The documentation provided for the library is great and exhaustive and includes both beginner-friendly documentation and more advanced guides.
- It’s constantly being updated with features and fixes, which is a sign of a healthy solution.
- It’s the most used library for navigation in React Native, so the community is extensive and very helpful. It’s even recommended as a navigation solution in the official React Native Docs!
- It provides an extensive set of features (which is constantly growing) and basic components for the most common implementation scenarios.
- Being an extensible open-source solution built on JavaScript means that you’ll be able to modify anything you wish if you have a custom or advanced requirement, as long as you know the language.




