Назад к задачам
Junior — Senior
6

Выявление ошибок в экране, реализованном с помощью Jetpack Compose

Компании, где спрашивали:

Uzum
Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Задача: проанализировать код экрана, написанного на Jetpack Compose, и найти потенциальные проблемы в его реализации.

@Composable
fun MyScreen() {
    val screenViewModel = remember { MyViewModel() }
    val uiState by screenViewModel.state.collectAsState()

    MyComposableItem(
        name = uiState.name,
        onButtonClick = { screenViewModel.onAction() }
    )
}

В данном примере создаётся ViewModel, собирается состояние через collectAsState, а полученные данные передаются в дочерний composable. Требуется определить, какие недостатки могут присутствовать в таком подходе (например, неправильное управление жизненным циклом ViewModel, отсутствие обработки ошибок, неэффективные пересоздания и т.п.).