Sahoo contrasts browser navigation, where a URL determines the screen, with native apps, which need smooth transitions and familiar platform patterns. He describes how headers, gestures, and animations vary between iOS and Android, including across Android versions, making navigation complex to implement consistently.
Component based Navigation in React Native
Speaker
Satyajit Sahoo, a front-end developer at Callstack, explains component-based navigation in React Native at React Native Wrocław Meetup #1.
Sahoo reviews earlier options, from iOS-only NavigatorIOS to JavaScript-based Navigator and the low-level NavigationExperimental. He also discusses native React Native Navigation and Expo’s ExNavigation, noting trade-offs such as platform support, animation performance, customization, and React-style composition. React Navigation brought contributors from Facebook, Expo, Callstack, and the wider community together around a simpler, customizable API.
A navigator manages both transitions and navigation state, including the current screen and back history. React Navigation combines core logic and routers with UI patterns such as stacks, tabs, and drawers. Sahoo describes a stack as cards pushed onto and removed from a pile, alongside platform-specific tab and drawer patterns.
The earlier API used static configuration, which limited access to props, state, and context and made screen options difficult to change dynamically. The rewritten API defines screens as children during render, enabling conditional routes such as showing Feed and Account when logged in and Login or Signup otherwise. Sahoo also covers dynamic options, hooks, TypeScript editor support, native stack and tab integrations, and Redux DevTools time travel.
Takeaways
- Choose navigation patterns that match native platform expectations, including transitions and gestures.
- Treat navigation state and transition UI as connected responsibilities of a navigator.
- Define screens during render when route availability depends on props, state, or context.
- Use native navigation primitives when platform performance matters more than extensive customization.
- Use navigation state debugging tools to inspect actions and revisit earlier states.
Mentioned in this talk
Search inside this talk
What was claimed 7
- role atSatyajit Sahoo is front-end developer at Caustic
“I work at Caustic as a front-end developer.”
YouTube Unverified1 source· Talk
- builtNative Navigation built
Airbnb
“The next big navigation library was Airbnb's Native Navigation.”
5:21inReact Navigation 6.x, fresh from the ovenYouTube Verified2 sources· Talk
- integrates withReact Navigation integrates with React Native Screens
“This native stack is from React Native Screens”
15:58inExpert Guide to React NavigationYouTube Verified2 sources· Talk
- featureReact Navigation: Dynamic navigator configuration can access props, state, and context and change at runtime.
“The new API is completely dynamic and runs inside render.”
YouTube Unverified1 source· Talk
- featureReact Navigation: Provides hooks including useNavigation and useIsFocused.
“You can use the useNavigation hook ... and useIsFocused to check whether the screen is focused.”
YouTube Unverified1 source· Talk
- uses
“We also rewrote the library from scratch in TypeScript.”
YouTube Unverified1 source· Talk
- integrates withReact Navigation integrates with Redux DevTools
“React Navigation provides an API that lets us show these actions.”
YouTube Unverified1 source· Talk





