WhoBuilt

What is React Navigation library?

Apr 9, 2021· 11 min· 267 views·Watch on YouTube

Speakers

Satya, a React Navigation contributor, joins Callstack’s host and audience to explain the library’s purpose, history, and rise in the React Native community.

What React Navigation provides

React Navigation manages app screens and provides navigation UI such as tabs, drawers, and stack transitions. Unlike React Router, which the speakers describe as providing logic, React Navigation includes both logic and UI, with patterns suited to iOS and Android.

Earlier React Native navigation options

The earlier choices were Navigator, a cross-platform JavaScript implementation, and NavigatorIOS, a native option limited to iOS. Satya says Navigator’s animations could not use the native driver and that it was difficult to customize. NavigationExperimental offered more flexible animation building blocks, but developers had to supply much of the navigation logic themselves.

From ExNavigation to React Navigation

Expo’s ExNavigation built on NavigationExperimental and added a friendlier API, along with stack, tab, and drawer patterns. Developers from Expo, Facebook, and the community later created React Navigation with a new API designed to be simpler while offering substantial functionality.

Why the library gained adoption

Satya credits tutorial-focused documentation with helping beginners learn how to use the library, rather than leaving them with only an API reference. He also says the JavaScript implementation let maintainers add features and fix bugs quickly. An audience member recommends its component-based syntax and built-in navigators to people new to React Native.

Takeaways

  • Choose a navigation library that provides the screen logic and interface patterns your app needs.
  • Tutorials can help new users assemble a working solution more quickly than an API reference alone.
  • A JavaScript implementation can make iteration and bug fixes faster, according to Satya.
  • Built-in stack, tab, and drawer navigators cover common early app needs.
  • When evaluating libraries, consider platform support, animation performance, customization, and maintenance.

Mentioned in this talk

Search inside this talk

What was claimed 21

Related talks