---
title: "CompositionLocalProvider"
description: "[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."
type: "composable"
---

<div class='type'>Composable Function</div>


<a id='references'></a>

<div class='sourceset sourceset-common'>Common</div>


```kotlin
@Composable
@NonSkippableComposable
public fun CompositionLocalProvider(
    vararg values: ProvidedValue<*>,
    content: @Composable () -> 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.



<div class='sourceset sourceset-common'>Common</div>


```kotlin
@Composable
@NonSkippableComposable
public fun CompositionLocalProvider(value: ProvidedValue<*>, content: @Composable () -> 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.



<div class='sourceset sourceset-common'>Common</div>


```kotlin
@Composable
public fun CompositionLocalProvider(
    context: CompositionLocalContext,
    content: @Composable () -> 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.




## Code Examples
### compositionLocalProvider
```kotlin
fun compositionLocalProvider() {
    @Composable
    fun App(user: User) {
        CompositionLocalProvider(ActiveUser provides user) { SomeScreen() }
    }
}
```

