React Navigation joins GitHub Sponsors

Brent Vatne

Brent Vatne

Assistant to the Regional Core Team Manager

tl;dr: We joined GitHub Sponsors, click here to see our sponsors page and become a sponsor!


React Navigation is depended on by some of the most respected engineering organizations, well-known brands, and talented startups. It's used by financial services apps like Brex and Coinbase Pro; educational apps like Codecademy Go and DataCamp; consumer apps like Shop from Shopify, Bloomberg, TaskRabbit, and Th3rdwave; entertainment apps like the National Football League (NFL) (in their main app and several others), Cameo, Tracker Network for Fortnite, and the Call of Duty companion app from Activision Blizzard. One of my personal favourite apps using React Navigation is Readwise, I love making my coffee with Single Origin 2, and managing household chores with Sweepy.

We've also seen React Navigation used in apps that help in the fight against COVID-19. Our favourites are How We Feel by Pinterest co-founder and CEO Ben Silbermann and a team from Pinterest in collaboration with leading scientists (article) and COVID Symptom Study by ZOE Global in association with King's College London (article).

React Navigation on the Web

React Native has made cross-platform development much easier than before, and with React Native for Web, you can reuse code across Android, iOS and Web too!

One major pain point of reusing code for the web app has been navigation. React Navigation is one of the most widely used navigation libraries for React Native, but it didn’t support web. While you could run apps using React Navigation on the Web, a lot of things were missing, such as proper integration with URLs on the browser.

We have finally added preliminary web support to React Navigation. Let's take a look at the changes.

React Navigation 5.0 - A new way to navigate

Exactly two years ago, we published the first stable version of React Navigation. Throughout this time, the library has been actively developed by adding many new features and bug fixes. The essence of React Navigation was that it was a project that was to become not only a project of individual programmers adapting it to their requirements, but a community as a whole, hence the emphasis on versatility, extensibility, and the tendency to reconsider the assumptions if there were such needs. Thanks to this, the Library has been undergoing metamorphosis of both incremental and completely reorganized shape.

React Navigation 4.0

The documentation is now live at https://reactnavigation.org, and v3 lives here.

In this release, we have removed the navigators from the react-navigation package. The navigators have lived in separate packages for quite a while and you could already use those packages manually, but we still bundled them in the react-navigation package. This made it difficult for us to release significant updates to navigators, because we had to then do a major version release of react-navigation too. By separating the navigator packages there is more freedom to update and improve navigators without any impact on folks that don't use them.

React Navigation 3.0

Brent Vatne

Brent Vatne

Core Team

The documentation is now live at https://reactnavigation.org, and v2 lives here.

This is the first release where React Navigation depends on a native module outside of React Native core: it now depends on react-native-gesture-handler. This library provides an excellent set of primitives for leveraging the operating systems’ native gesture APIs and has enabled us to fix a variety of issues with stack and drawer navigators. React Navigation also depends on react-native-screens, but you don’t need to install the native module if you prefer not to use it (we have a blog post coming soon that will explain what react-native-screens is and why you may want to use it, or you can watch this talk by the author of the library).

3.0 release candidate

Brent Vatne

Brent Vatne

Core Team

We are excited to announce the release candidate of version 3.0 today!

This is the first release where React Navigation depends on a native module outside of React Native core: it now depends on react-native-gesture-handler. This library provides an excellent set of primitives for leveraging the operating systems’ native gesture APIs and has enabled us to fix a variety of issues with stack and drawer navigators. React Navigation also depends on react-native-screens, but you don’t need to install the native module if you prefer not to use it (we have a blog post coming soon that will explain what react-native-screens is and why you may want to use it, or you can watch this talk by the author of the library).