JetPack Compose - Как запустить событие при составлении экранаAndroid

Форум для тех, кто программирует под Android
Anonymous
JetPack Compose - Как запустить событие при составлении экрана

Сообщение Anonymous »

Мое приложение использует OpenID для аутентификации пользователя.@Composable
fun LoginScreen(viewModel: LoginViewModel) {
val ctx = LocalContext.current
AppTheme {
Screen()
}
viewModel.performLogin(ctx)
}

< /code>
выполнение вышеупомянутых работ, но затем его снова вызывают, когда приложение перемещается на главный экран. < /p>
fun loginComplete(navController: NavHostController) {
navController.navigate("main")
}

@Composable
fun MyApp(viewModel: LoginViewModel) {
val navController = rememberNavController()
viewModel.setOnLoginCompete(navController, ::loginComplete)
NavHost(navController, startDestination = "login") {
composable(route = "login") {
LoginScreen(viewModel)
}
composable(route = "main") {
MainScreen()
}
}
}
< /code>
Я не думаю, что я должен назвать функцию выполнения, как я нахожусь в композитной функции, но я не вижу другого способа. Чего мне не хватает?

Подробнее здесь: https://stackoverflow.com/questions/743 ... s-composed

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