A practical guide to migrating from Jetpack Compose Navigation2 to Navigation3, centered on the key insight that navigation is now treated as state. Covers updating dependencies, defining type-safe routes with NavKey and @Serializable, creating a NavBackStack with an initial route, setting up NavDisplay to render screens, and wiring up a bottom NavigationBar for tab switching. Includes code examples for each step and notes that per-tab navigation stacks will be covered in a follow-up.
Table of contents
Start with a Simple IdeaGet chanzmao ’s stories in your inboxLet’s try it out1. Update Dependencies2. Create Routes Using NavKey3. Building Screen Layouts with Scaffold4. Create a NavBackStack with the initial Route5. Create a NavDisplay with the NavBackStack6. Navigating with a Bottom NavigationBarResult PreviewFinal ThoughtsBefore You GoSort: