Posts

Showing posts from October 18, 2025

Implement SharedViewModel in Pure Jetpack Navigation App

Image
  We all must have used SharedViewModel in Fragment based navigation using activityViewModels(). But now… what if our app is built in 100% Jetpack Compose? No fragments, No FragmentManager, No ViewModelStoreOwner. So… if we have 2 basic authentication screens LoginScreen and RegisterScreen, how can we share viewmodel/state across composables? 👇🏻 // Inside any Composable screen val parentEntry = remember(navController) { navController.getBackStackEntry( "auth_graph" ) // Your navGraph route } val viewModel: SharedViewModel = viewModel(parentEntry) Now both LoginScreen() and RegisterScreen() inside auth_graph can share the same SharedViewModel. ❤️ 💡 Why this matters If we’re building multi-step flows (Auth, Checkout, Onboarding), this keeps our architecture clean, and state scoped. Checkout the Git Repo from here… https://github.com/dev-vikas-soni/compose-shared-view-model If you enjoyed the article and would like to show your support, be sure to: 👏 Applaud for the story...