Ответ
@Composable — это аннотация, помечающая функции, которые описывают UI в Jetpack Compose. Они могут вызывать другие @Composable функции и преобразуют данные в элементы интерфейса.
Особенности:
- Могут перезапускаться при изменении входных параметров
- Не возвращают UI-виджеты напрямую, а декларируют их
- Должны быть идемпотентными (одинаковые входные данные → одинаковый UI)
Пример:
@Composable
fun Greeting(name: String) {
Text(text = "Hello, $name!")
}
Примечание: Внутри таких функций нельзя использовать обычные Kotlin-корутины или блокирующие операции.