Ответ
Однонаправленный поток данных (Unidirectional Data Flow, UDF) — это архитектурный подход, при котором данные передаются только в одном направлении: от родительских компонентов к дочерним. Это упрощает отладку и предсказуемость состояния приложения.
Пример с Jetpack Compose:
@Composable
fun Counter(count: Int, onIncrement: () -> Unit) {
Button(onClick = onIncrement) {
Text("Clicked $count times")
}
}
Здесь count передается только сверху вниз, а события (onIncrement) всплывают вверх. Это предотвращает прямое изменение состояния дочерними компонентами.
Преимущества:
- Четкая структура данных
- Легче отслеживать изменения
- Упрощенное тестирование