Sobes.tech
Back to tasks
Junior — Senior
42

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

Companies where asked:

Uzum
Get help with live coding in real time with Sobes Copilot
Task condition

Задача: проанализировать код экрана, написанного на 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, отсутствие обработки ошибок, неэффективные пересоздания и т.п.).