У меня возникают проблемы с уловкой эмит на композиционной стороне моего проекта из ViewModel
viewModel Сторона:
< Pre Class = "Lang-Kotlin PrettyPrint-Override">@HiltViewModel
class NavigationManager @Inject constructor() : ViewModel() {
private val _navigationCommands = MutableSharedFlow()
val navigationCommands = _navigationCommands.asSharedFlow()
fun navigate(route: String) {
viewModelScope.launch {
_navigationCommands.emit(route)
Log.d("Navigation", "Navigation Manager called emmited route: $route")
}
}
}
композиционная сторона
val navigationManager: NavigationManager = hiltViewModel()
LaunchedEffect(Unit) {
Log.d("Navigation", "Launched Effect called")
navigationManager
.navigationCommands
.collect { screen ->
navController.navigate(screen)
Log.d("Navigation", "navControllerCalled to ${screen}")
}
}
Подробнее здесь: https://stackoverflow.com/questions/794 ... navigation