Что такое @Composable функция

«Что такое @Composable функция» — вопрос из категории Паттерны, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

@Composable — это аннотация в Jetpack Compose, которая обозначает функции, описывающие UI. Такие функции могут вызывать другие @Composable функции и автоматически реагируют на изменения состояния.

Особенности:

  • Не возвращают значение явно (возвращают Unit)
  • Могут вызываться только из других @Composable функций или setContent
  • Имеют возможность рекомпозиции при изменении состояния

Пример:

@Composable
fun Greeting(name: String) {
    Text(text = "Hello, $name!")
}