The host says the static API made it difficult to control a header from inside a component. Sadia says it also limited themes and dynamic translations, and that changing the library’s underlying architecture required a rewrite.
What issues can React Navigation 5 solve?
Speaker
Sadia of Callstack explains how React Navigation 5 addresses limitations in the earlier API and what new navigation features it adds.
React Navigation 5 replaces top-level object configuration with rendered components. This lets developers use React state to choose screens, build tabs from server-fetched data, update headers, translate content through context, and apply themes.
Sadia describes `setOptions` for updating titles, headers, and other navigator options. The new theming API lets developers define colors such as brand colors for navigation UI, without replacing each component.
The stack navigator was rewritten with React Native Gesture Handler, enabling per-screen animation choices and a new iOS modal presentation. Sadia also mentions drawer navigation using Animated and Gesture Handler, a more customizable deep linking API with support for a 404 screen, hook-based APIs, and a simpler event listener system.
The host recalls prototyping a component-based approach in Rebel Navigation. Sadia says that work helped shape ideas for the API, which was later implemented in React Navigation Stack and released as part of version 5.
Takeaways
- Use a component-based navigation configuration when screens or navigation options need to respond to app state.
- Use `setOptions` to update screen titles and headers from within the app.
- Define navigation colors centrally with the theming API instead of replacing each UI component.
- Choose transitions per screen and use the deep linking API to handle unmatched URLs.
- Use hooks and event listeners for navigation logic in function components.
Mentioned in this talk
Search inside this talk
What was claimed 9
- featureReact Navigation: Native support for themes
“We also have native support for themes.”
YouTube Unverified1 source· Talk
- featureReact Navigation: Dynamic, component-based API for configuring navigation at runtime
“We rewrote the navigation and built a new, component-based dynamic API.”
YouTube Unverified1 source· Talk
- usesrewritten stack navigator
“a rewrite of the stack navigator based on React Native Gesture Handler”
YouTube Unverified1 source· Talk
- featureReact Navigation: SetOptions API for updating navigator options
“we have a new `setOptions` API”
YouTube Unverified1 source· Talk
- featureReact Navigation: Customizable screen animations and an iOS modal presentation animation
“you could change animations for every screen”
YouTube Unverified1 source· Talk
- featureReact Navigation: Simplified event listener API
“you just add an event listener”
YouTube Unverified1 source· Talk
- featureReact Navigation: Hook-based APIs for function components
“we implemented new hook-based APIs”
YouTube Unverified1 source· Talk
- featureReact Navigation: Customizable deep linking, including a 404 page for unmatched URLs
“you could specify, for example, a 404 page in your app if you don’t match a URL”
YouTube Unverified1 source· Talk





