Как слушать state в Compose

«Как слушать state в Compose» — вопрос из категории Jetpack Compose, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Compose для слушания состояния (state) используй State<T> и MutableState<T> с функциями remember и mutableStateOf. Compose автоматически перекомпоновывает UI при изменении состояния.

@Composable
fun Counter() {
    var count by remember { mutableStateOf(0) }

    Button(onClick = { count++ }) {
        Text("Clicked $count times")
    }
}

Ключевые моменты:

  • remember сохраняет состояние при рекомпозиции
  • by (делегирование) или .value для доступа к значению
  • Для сложных состояний используй ViewModel + StateFlow/LiveData, конвертируя в состояние через collectAsState():
val state = viewModel.state.collectAsState()