Norbi
07/30/2021, 4:33 PM@Composable
fun ApplicationRoot() {
val navController = rememberNavController()
MaterialTheme {
NavHost(navController = navController, startDestination = "home") {
composable("home") {
HomeScreen()
}
}
}
}
@Composable
fun HomeScreen(viewModel: ApplicationViewModel = viewModel()) {
val applicationState by viewModel.applicationStateStore.observeAsState()
...
But if I refactor applicationState
as a parameter then it doesn't work correctly, no recomposition happens if viewModel.applicationStateStore
is modified:
@Composable
fun ApplicationRoot(viewModel: ApplicationViewModel = viewModel()) {
val applicationState by viewModel.applicationStateStore.observeAsState()
val navController = rememberNavController()
MaterialTheme {
NavHost(navController = navController, startDestination = "home") {
composable("home") {
HomeScreen(applicationState)
}
}
}
}
@Composable
fun HomeScreen(applicationState: ApplicationState) {
...
Thanks.Ian Lake
07/30/2021, 4:39 PMNorbi
07/30/2021, 4:44 PM