CompositionLocalProvider

Functions summary

Functions

CompositionLocalProvider

@Composable
fun CompositionLocalProvider(
    context: CompositionLocalContext,
    content: @Composable () -> Unit
): Unit

CompositionLocalProvider binds values to CompositionLocal's, provided by context. Reading the CompositionLocal using CompositionLocal.current will return the value provided in values stored inside context for all composable functions called directly or indirectly in the content lambda.

import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider

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

CompositionLocalProvider

@Composable
@NonSkippableComposable
fun CompositionLocalProvider(
    value: ProvidedValue<*>,
    content: @Composable () -> Unit
): Unit

CompositionLocalProvider binds value to ProvidableCompositionLocal key. Reading the CompositionLocal using CompositionLocal.current will return the value provided in CompositionLocalProvider's value parameter for all composable functions called directly or indirectly in the content lambda.

import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider

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

CompositionLocalProvider

@Composable
@NonSkippableComposable
fun CompositionLocalProvider(
    vararg values: ProvidedValue<*>,
    content: @Composable () -> Unit
): Unit

CompositionLocalProvider binds values to ProvidableCompositionLocal keys. Reading the CompositionLocal using CompositionLocal.current will return the value provided in CompositionLocalProvider's values parameter for all composable functions called directly or indirectly in the content lambda.

import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider

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