# rememberViewModelStoreNavEntryDecorator

Common/All

## Functions summary

|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/lifecycle/viewmodel/navigation3/ViewModelStoreNavEntryDecorator<T>` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable <T : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html> https://developer.android.com/reference/kotlin/androidx/lifecycle/viewmodel/navigation3/rememberViewModelStoreNavEntryDecorator.composable#rememberViewModelStoreNavEntryDecorator(androidx.lifecycle.ViewModelStoreOwner)( viewModelStoreOwner: https://developer.android.com/reference/kotlin/androidx/lifecycle/ViewModelStoreOwner )` Returns a `https://developer.android.com/reference/kotlin/androidx/lifecycle/viewmodel/navigation3/ViewModelStoreNavEntryDecorator` that is remembered across recompositions. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/lifecycle/viewmodel/navigation3/ViewModelStoreNavEntryDecorator<T>` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable <T : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html> https://developer.android.com/reference/kotlin/androidx/lifecycle/viewmodel/navigation3/rememberViewModelStoreNavEntryDecorator.composable#rememberViewModelStoreNavEntryDecorator(androidx.lifecycle.viewmodel.ViewModelStoreProvider)( viewModelStoreProvider: https://developer.android.com/reference/kotlin/androidx/lifecycle/viewmodel/ViewModelStoreProvider )` Returns a `https://developer.android.com/reference/kotlin/androidx/lifecycle/viewmodel/navigation3/ViewModelStoreNavEntryDecorator` that is remembered across recompositions. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/lifecycle/viewmodel/navigation3/ViewModelStoreNavEntryDecorator<T>` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable <T : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html> [rememberViewModelStoreNavEntryDecorator](https://developer.android.com/reference/kotlin/androidx/lifecycle/viewmodel/navigation3/rememberViewModelStoreNavEntryDecorator.composable#rememberViewModelStoreNavEntryDecorator(androidx.lifecycle.ViewModelStoreOwner,kotlin.Function0))( viewModelStoreOwner: https://developer.android.com/reference/kotlin/androidx/lifecycle/ViewModelStoreOwner, removeViewModelStoreOnPop: () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html )` **This function is deprecated.** This parameter was a workaround for detecting configuration changes and was never intended for conditional popping. | Cmn |

## Functions

### rememberViewModelStoreNavEntryDecorator

Cmn Artifact: [androidx.lifecycle:lifecycle-viewmodel-navigation3](https://developer.android.com/jetpack/androidx/releases/lifecycle) [View Source](https://cs.android.com/search?q=file:androidx/lifecycle/viewmodel/navigation3/ViewModelStoreNavEntryDecorator.kt+function:rememberViewModelStoreNavEntryDecorator) Added in [2.11.0](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.11.0)

```
@Composable
fun <T : Any> rememberViewModelStoreNavEntryDecorator(
    viewModelStoreOwner: ViewModelStoreOwner = checkNotNull(LocalViewModelStoreOwner.current) {
            "No ViewModelStoreOwner was provided via LocalViewModelStoreOwner"
        }
): ViewModelStoreNavEntryDecorator<T>
```

Returns a `https://developer.android.com/reference/kotlin/androidx/lifecycle/viewmodel/navigation3/ViewModelStoreNavEntryDecorator` that is remembered across recompositions.

| Parameters |
|---|---|
| `viewModelStoreOwner: https://developer.android.com/reference/kotlin/androidx/lifecycle/ViewModelStoreOwner = checkNotNull(LocalViewModelStoreOwner.current) { "No ViewModelStoreOwner was provided via LocalViewModelStoreOwner" }` | The `https://developer.android.com/reference/kotlin/androidx/lifecycle/ViewModelStoreOwner` that provides the `https://developer.android.com/reference/kotlin/androidx/lifecycle/ViewModelStore` to NavEntries. If this owner implements `https://developer.android.com/reference/kotlin/androidx/lifecycle/HasDefaultViewModelProviderFactory`, its default factory and creation extras will be propagated to the NavEntries. |

### rememberViewModelStoreNavEntryDecorator

Cmn Artifact: [androidx.lifecycle:lifecycle-viewmodel-navigation3](https://developer.android.com/jetpack/androidx/releases/lifecycle) [View Source](https://cs.android.com/search?q=file:androidx/lifecycle/viewmodel/navigation3/ViewModelStoreNavEntryDecorator.kt+function:rememberViewModelStoreNavEntryDecorator) Added in [2.11.0](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.11.0)

```
@Composable
fun <T : Any> rememberViewModelStoreNavEntryDecorator(
    viewModelStoreProvider: ViewModelStoreProvider
): ViewModelStoreNavEntryDecorator<T>
```

Returns a `https://developer.android.com/reference/kotlin/androidx/lifecycle/viewmodel/navigation3/ViewModelStoreNavEntryDecorator` that is remembered across recompositions.

| Parameters |
|---|---|
| `viewModelStoreProvider: https://developer.android.com/reference/kotlin/androidx/lifecycle/viewmodel/ViewModelStoreProvider` | The `https://developer.android.com/reference/kotlin/androidx/lifecycle/viewmodel/ViewModelStoreProvider` that provides the `https://developer.android.com/reference/kotlin/androidx/lifecycle/ViewModelStoreOwner`s for `https://developer.android.com/reference/kotlin/androidx/navigation3/runtime/NavEntry`s. |

### rememberViewModelStoreNavEntryDecorator

Cmn Artifact: [androidx.lifecycle:lifecycle-viewmodel-navigation3](https://developer.android.com/jetpack/androidx/releases/lifecycle) [View Source](https://cs.android.com/search?q=file:androidx/lifecycle/viewmodel/navigation3/ViewModelStoreNavEntryDecorator.kt+function:rememberViewModelStoreNavEntryDecorator) Added in [2.10.0](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.10.0) Deprecated in [2.11.0](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.11.0)

```
@Composable
fun <T : Any> [rememberViewModelStoreNavEntryDecorator](https://developer.android.com/reference/kotlin/androidx/lifecycle/viewmodel/navigation3/rememberViewModelStoreNavEntryDecorator.composable#rememberViewModelStoreNavEntryDecorator(androidx.lifecycle.ViewModelStoreOwner,kotlin.Function0))(
    viewModelStoreOwner: ViewModelStoreOwner = checkNotNull(LocalViewModelStoreOwner.current) {
            "No ViewModelStoreOwner was provided via LocalViewModelStoreOwner"
        },
    removeViewModelStoreOnPop: () -> Boolean = { true }
): ViewModelStoreNavEntryDecorator<T>
```

> [!CAUTION]
> **This function is deprecated.**   
> This parameter was a workaround for detecting configuration changes and was never intended for conditional popping. Configuration changes are now handled internally. All decorator state must clear at the same time on pop. To keep decorator state around outside of when a back stack is passed to a NavDisplay, use the rememberDecoratedNavEntries API, use this instead:
>
> ```kotlin
> rememberViewModelStoreNavEntryDecorator(viewModelStoreOwner)
> ```

Returns a `https://developer.android.com/reference/kotlin/androidx/lifecycle/viewmodel/navigation3/ViewModelStoreNavEntryDecorator` that is remembered across recompositions.

| Parameters |
|---|---|
| `viewModelStoreOwner: https://developer.android.com/reference/kotlin/androidx/lifecycle/ViewModelStoreOwner = checkNotNull(LocalViewModelStoreOwner.current) { "No ViewModelStoreOwner was provided via LocalViewModelStoreOwner" }` | The `https://developer.android.com/reference/kotlin/androidx/lifecycle/ViewModelStoreOwner` that provides the `https://developer.android.com/reference/kotlin/androidx/lifecycle/ViewModelStore` to NavEntries. If this owner implements `https://developer.android.com/reference/kotlin/androidx/lifecycle/HasDefaultViewModelProviderFactory`, its default factory and creation extras will be propagated to the NavEntries. |
| `removeViewModelStoreOnPop: () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html = { true }` | This parameter is now ignored and the lambda is never invoked. Previously, it was a lambda that returned a Boolean for whether the store for a `https://developer.android.com/reference/kotlin/androidx/navigation3/runtime/NavEntry` should be removed when the `https://developer.android.com/reference/kotlin/androidx/navigation3/runtime/NavEntry` is popped from the backStack. |