Я новичок в Jetpack Compose и изо всех сил пытаюсь понять, как интегрировать библиотеку навигации с Compose. Я успешно реализовал нижнюю навигацию, но сейчас мне трудно получить доступ к методу .navigate (route) в дочернем компоненте. Должен ли я передавать navController в качестве параметра из composeable внутри NavHost? Вот мой код, чтобы прояснить ситуацию.
Вот мой HomeScreen.kt @Composable, который вызывает метод RememberNavController (), а также составной компонент NavHost () следующим образом ...
@Composable
fun HomeScreen() {
val navController = rememberNavController()
...
Scaffold(
...
) {
NavHost(navController, startDestination = "route") {
composable("route") { Settings(navController) }
}
}
Итак, здесь вы можете видеть, что я передаю navController в качестве параметра в компонент «Настройки». Я не уверен, что это правильно. Теперь, в конечном счете, из составного компонента «Настройки» я хотел бы получить доступ к методу navController.navigate (route), если это возможно, как показано ниже.
@Composable
fun Settings(navController: NavHostController) {
...
Button(onClick = {navController.navigate("route")}) {
Text(text = "button text")
}
...
}
К сожалению, я не могу получить доступ к методу .navigate, поскольку в нем говорится, что ни одна из следующих функций не может быть вызвана с предоставленными аргументами. Спасибо за потраченное время и помощь !!