Вот иллюстрация того, что я сделал. Во-первых, некоторые файлы с uistates. < /P>
Код: Выделить всё
class ListItemAUIStateViewModel : ViewModel() {
// Internal logic with UIStates as StateFlow + events
}
class ListItemOtherUIStateViewModel : ViewModel() {
// Internal logic with UIStates as StateFlow + events
}
< /code>
Затем навигация: < /p>
@Composable
fun Navigation(
navController: NavHostController,
modifier: Modifier = Modifier,
context: Context,
viewModelA: ListItemAUIStateViewModel,
viewModelOther: ListItemOtherUIStateViewModel,
) {
NavHost(
navController = navController,
startDestination = Screens.one,
) {
composable(route = Screens.one) {
StartScreen(
navController = navController,
listItemAUIStateViewModel = viewModelA,
)
}
composable(route = Screens.two) {
MainScreen(
navController = navController,
listItemAUIStateViewModel = viewModelA,
listItemOtherUIStateViewModel = viewModelOther,
)
}
composable(route = Screens.three) {
StartScreen(
navController = navController,
listItemOtherUIStateViewModel = viewModelOther,
)
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/797 ... -in-kotlin