Peter Mandeljc
09/15/2021, 11:01 AMtypealias Callback = (String) -> Unit
// Fixme: composition policy
val LocalActiveCallback = compositionLocalOf<Callback> { error("No active callback") }
@Composable
@Preview
fun Parent() {
val callback: Callback = { msg ->
Timber.e(msg)
}
CompositionLocalProvider(LocalActiveCallback provides callback) {
Child()
}
}
@Composable
private fun Child() {
val callback = LocalActiveCallback.current
Button(onClick = {
callback("hello")
}) {
Text("call me")
}
}
Csaba Kozák
09/15/2021, 11:11 AMK Merle
09/15/2021, 6:51 PM