Class

CompositionLocal

Compose passes data through the composition tree explicitly through means of parameters to composable functions.

compositionLocalProvider

fun compositionLocalProvider() {
    @Composable
    fun App(user: User) {
        CompositionLocalProvider(ActiveUser provides user) { SomeScreen() }
    }
}

consumeCompositionLocal

fun consumeCompositionLocal() {
    @Composable
    fun UserPhoto() {
        val user = ActiveUser.current
        ProfileIcon(src = user.profilePhotoUrl)
    }
}

createCompositionLocal

fun createCompositionLocal() {
    val ActiveUser = compositionLocalOf<User> { error("No active user found!") }
}

someScreenSample

fun someScreenSample() {
    @Composable
    fun SomeScreen() {
        UserPhoto()
    }
}