Slide 17
Slide 17 text
LiveData.observeAsState()
@Composable
fun LiveData.observeAsState(): State = observeAsState(value)
@Composable
fun LiveData.observeAsState(initial: R): State {
val lifecycleOwner = LocalLifecycleOwner.current
val state = remember { mutableStateOf(initial) }
DisposableEffect(this, lifecycleOwner) {
val observer = Observer { state.value = it }
observe(lifecycleOwner, observer)
onDispose { removeObserver(observer) }
}
return state
}