# SaveableStateHolderNavEntryDecorator

Artifact: [androidx.navigation3:navigation3-runtime](https://developer.android.com/jetpack/androidx/releases/navigation3) [View Source](https://cs.android.com/search?q=file:androidx/navigation3/runtime/SaveableStateHolderNavEntryDecorator.kt+class:androidx.navigation3.runtime.SaveableStateHolderNavEntryDecorator) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/navigation3#1.0.0) Common/AllAndroid/JVM
- Cmn

  ```
  class SaveableStateHolderNavEntryDecorator<T : Any> : NavEntryDecorator<T>
  ```

|---|---|---|
| [kotlin.Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html) |||
| ↳ | [androidx.navigation3.runtime.NavEntryDecorator](https://developer.android.com/reference/kotlin/androidx/navigation3/runtime/NavEntryDecorator)\<T\> ||
|   | ↳ | [androidx.navigation3.runtime.SaveableStateHolderNavEntryDecorator](https://developer.android.com/reference/kotlin/androidx/navigation3/runtime/SaveableStateHolderNavEntryDecorator) |

*** ** * ** ***

Wraps the content of a `https://developer.android.com/reference/kotlin/androidx/navigation3/runtime/NavEntry` with a `https://developer.android.com/reference/kotlin/androidx/compose/runtime/saveable/SaveableStateHolder#SaveableStateProvider(kotlin.Any,kotlin.Function0)` to ensure that calls to `https://developer.android.com/reference/kotlin/androidx/compose/runtime/saveable/rememberSaveable.composable#rememberSaveable(kotlin.Array,androidx.compose.runtime.saveable.Saver,kotlin.String,kotlin.Function0)` within the content work properly and that state can be saved. Also provides the content of a `https://developer.android.com/reference/kotlin/androidx/navigation3/runtime/NavEntry` with a `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedStateRegistryOwner` which can be accessed in the content with `https://developer.android.com/reference/kotlin/androidx/savedstate/compose/package-summary#LocalSavedStateRegistryOwner()`.

This `https://developer.android.com/reference/kotlin/androidx/navigation3/runtime/NavEntryDecorator` is the only one that is **required** as saving state is considered a non-optional feature.

## Summary

| ### Public constructors |
|---|---|
| `<T : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html> https://developer.android.com/reference/kotlin/androidx/navigation3/runtime/SaveableStateHolderNavEntryDecorator#SaveableStateHolderNavEntryDecorator(androidx.compose.runtime.saveable.SaveableStateHolder)( saveableStateHolder: https://developer.android.com/reference/kotlin/androidx/compose/runtime/saveable/SaveableStateHolder )` | Cmn |

## Public constructors

### SaveableStateHolderNavEntryDecorator

Cmn

```
<T : Any> SaveableStateHolderNavEntryDecorator(
    saveableStateHolder: SaveableStateHolder
)
```

| Parameters |
|---|---|
| `saveableStateHolder: https://developer.android.com/reference/kotlin/androidx/compose/runtime/saveable/SaveableStateHolder` | the `https://developer.android.com/reference/kotlin/androidx/compose/runtime/saveable/SaveableStateHolder` that holds the state defined with `https://developer.android.com/reference/kotlin/androidx/compose/runtime/saveable/rememberSaveable.composable#rememberSaveable(kotlin.Array,androidx.compose.runtime.saveable.Saver,kotlin.String,kotlin.Function0)`. A saved state can only be restored from the `https://developer.android.com/reference/kotlin/androidx/compose/runtime/saveable/SaveableStateHolder` that it was saved with. |