169 похожих чатов

Навигацию в композе кто-нибудь наружу выносил во вьюмодель?

16 ответов

22 просмотра

Кто нибудь делал, а что не получается?

Krushiler- Автор вопроса
Valentyn Kulahin
Кто нибудь делал, а что не получается?

бэкстек сохранить (вернее, состояние экрана вернуть). т.е. есть такая штука. тут понятно почему не работает. backStack я сделал классом NavigationState(route: R, prevState: NavigationState<R>). и вьюмодель полностью за навигацию отвечает, получается. но как правильно это сделать, я не понимаю @Composable fun HomeNavigation() { val viewModel: HomeNavigationViewModel = rootViewModel() val state = viewModel.state.collectAsState() val navController = rememberNavController() BackHandler(state.value.canPop) { viewModel.back() } NavHost(navController = navController, startDestination = state.value.route.path) { composable(HomeRoute.ScreenA.path) { ScreenA() } composable(HomeRoute.ScreenB.path) { ScreenB() } } }

Krushiler
// your code

А с джавой такой прикол не проканает?

Олександр 🇺🇦
три `язык код три `

Нет, я о цвете. Там код красный

🇺🇦 Oliver Clayton
Нет, я о цвете. Там код красный

это уже сам телеграмм так делает

feed an us
это уже сам телеграмм так делает

Я так не думаю @Composable fun HomeNavigation() {     val viewModel: HomeNavigationViewModel = rootViewModel()     val state = viewModel.state.collectAsState()     val navController = rememberNavController()     BackHandler(state.value.canPop) {         viewModel.back()     }     NavHost(navController = navController,         startDestination = state.value.route.path) {         composable(HomeRoute.ScreenA.path) {             ScreenA()         }         composable(HomeRoute.ScreenB.path) {             ScreenB()         }     } }

Андрей
Язык не добавил после `

Добавил. Там написано же Kotlin.

🇺🇦 Oliver Clayton
Добавил. Там написано же Kotlin.

Я так не думаю @Composable fun HomeNavigation() {     val viewModel: HomeNavigationViewModel = rootViewModel()     val state = viewModel.state.collectAsState()     val navController = rememberNavController()     BackHandler(state.value.canPop) {         viewModel.back()     }     NavHost(navController = navController,         startDestination = state.value.route.path) {         composable(HomeRoute.ScreenA.path) {             ScreenA()         }         composable(HomeRoute.ScreenB.path) {             ScreenB()         }     } }

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта