Как поймать выбросы Sharedflow из ViewModel в JetPack Compose Navigation?Android

Форум для тех, кто программирует под Android
Anonymous
Как поймать выбросы Sharedflow из ViewModel в JetPack Compose Navigation?

Сообщение Anonymous »

У меня возникают проблемы с уловкой эмит на композиционной стороне моего проекта из 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

Вернуться в «Android»