У меня есть композитный для предварительного просмотра, который загружает данные поезда с помощью ViewModel. В настоящее время я перейду к этому экрану из одного места, но мне нужно вызвать этот же экран с нескольких разных экранов в моем приложении. Из-за переоборудования он вызывает API 2-3 раза.
** < /p>
Основная проблема заключается в том, что вызов API запускается несколько раз
(3 вызовы вместо 1) при навигации на этот экран, который является
, вызывающим проблемы производительности и непрерывные сетевые запросы. /> **
Текущая реализация < /p>
@Composable
fun PreviewScreen(
previewViewModel: TrainPreviewVM,
args: Screen.PreviewScreen
) {
LaunchedEffect(Unit) {
args.date?.let {
previewViewModel.loadTrain(args.trainNumber, args.date)
}
}
// Rest of the UI implementation
}
< /code>
В настоящее время навигация с одного экрана, как это: < /p>
navController.navigate(
Screen.PreviewScreen(
trainNumber = it.number,
trainName = it.name,
date = it.date.toString()
)
)
< /code>
Вопросы < /strong> < /p>
Как я могу предотвратить несколько вызовов API при навигации до предварительного просмотра? /> Как мне гарантировать, что вызов API происходит только один раз на навигацию? < /li>
< /ul>
Подробнее здесь: https://stackoverflow.com/questions/796 ... pack-compo
Как вызвать композиционную функцию с нескольких экранов в Android JetPack Compose? ⇐ Android
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как вызвать композиционную функцию с нескольких экранов в Android JetPack Compose?
Anonymous » » в форуме Android - 0 Ответы
- 2 Просмотры
-
Последнее сообщение Anonymous
-
-
-
One ViewModel на каждую композиционную страницу внутри HorizontalPager
Anonymous » » в форуме Android - 0 Ответы
- 67 Просмотры
-
Последнее сообщение Anonymous
-