Ответ
snapshotFlow — это функция в Jetpack Compose, которая преобразует State<T> в Flow<T>. Она позволяет реагировать на изменения состояния в Compose, используя Flow API (например, для side-эффектов в LaunchedEffect).
Пример:
val state = remember { mutableStateOf(0) }
LaunchedEffect(Unit) {
snapshotFlow { state.value }
.collect { value ->
println("State changed: $value")
}
}
Особенности:
- Автоматически отменяется при выходе из Composition.
- Эффективен, так как эмитит значения только при реальных изменениях.
- Полезен для интеграции с кодом, использующим Flow (например, для
combineилиflatMapLatest).