Grigorii Yurkov
10/31/2020, 11:50 AMnavigation-compose
advantages over simple when (screen) {...}
?
@Composable
private fun AppContent(
navigationViewModel: NavigationViewModel,
postsRepository: PostsRepository,
interestsRepository: InterestsRepository
) {
Crossfade(navigationViewModel.currentScreen) { screen ->
Surface(color = MaterialTheme.colors.background) {
when (screen) {
is Screen.Home -> HomeScreen(
navigateTo = navigationViewModel::navigateTo,
postsRepository = postsRepository
)
is Screen.Interests -> InterestsScreen(
navigateTo = navigationViewModel::navigateTo,
interestsRepository = interestsRepository
)
is Screen.Article -> ArticleScreen(
postId = screen.postId,
postsRepository = postsRepository,
onBack = { navigationViewModel.onBack() }
)
}
}
}
}
(code from JetNews)alorma
10/31/2020, 12:27 PMnavController.navigate()
instead of depend on a viewModel or similars.
Also, arguments, and deeplinksIan Lake
10/31/2020, 2:08 PM