# androidx.navigationevent.compose

Common/AllAndroid/JVMNative/C/iOS

## Classes

|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/navigationevent/compose/NavigationEventState` | This class serves as the Compose-layer adapter for the navigation event system. | Cmn |

## Objects

|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/navigationevent/compose/LocalNavigationEventDispatcherOwner` | The CompositionLocal containing the current `https://developer.android.com/reference/kotlin/androidx/navigationevent/NavigationEventDispatcher`. | Cmn |

## Top-level functions summary

|---|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/navigationevent/compose/package-summary#NavigationBackHandler(androidx.navigationevent.compose.NavigationEventState,kotlin.Boolean,kotlin.Function0,kotlin.Function0)( state: https://developer.android.com/reference/kotlin/androidx/navigationevent/compose/NavigationEventState<https://developer.android.com/reference/kotlin/androidx/navigationevent/NavigationEventInfo>, isBackEnabled: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html, onBackCancelled: () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html, onBackCompleted: () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html )` A composable that handles only back navigation gestures, driven by a manually hoisted `https://developer.android.com/reference/kotlin/androidx/navigationevent/compose/NavigationEventState`. | Cmn |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/navigationevent/compose/package-summary#NavigationEventHandler(androidx.navigationevent.compose.NavigationEventState,kotlin.Boolean,kotlin.Function0,kotlin.Function0,kotlin.Boolean,kotlin.Function0,kotlin.Function0)( state: https://developer.android.com/reference/kotlin/androidx/navigationevent/compose/NavigationEventState<https://developer.android.com/reference/kotlin/androidx/navigationevent/NavigationEventInfo>, isForwardEnabled: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html, onForwardCancelled: () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html, onForwardCompleted: () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html, isBackEnabled: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html, onBackCancelled: () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html, onBackCompleted: () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html )` A composable that handles navigation events using simple lambda handlers, driven by a manually hoisted `https://developer.android.com/reference/kotlin/androidx/navigationevent/compose/NavigationEventState`. | Cmn |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/navigationevent/compose/package-summary#NavigationForwardHandler(androidx.navigationevent.compose.NavigationEventState,kotlin.Boolean,kotlin.Function0,kotlin.Function0)( state: https://developer.android.com/reference/kotlin/androidx/navigationevent/compose/NavigationEventState<https://developer.android.com/reference/kotlin/androidx/navigationevent/NavigationEventInfo>, isForwardEnabled: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html, onForwardCancelled: () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html, onForwardCompleted: () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html )` A composable that handles only forward navigation gestures, driven by a manually hoisted `https://developer.android.com/reference/kotlin/androidx/navigationevent/compose/NavigationEventState`. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/navigationevent/NavigationEventDispatcherOwner` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/navigationevent/compose/package-summary#rememberNavigationEventDispatcherOwner(kotlin.Boolean,androidx.navigationevent.NavigationEventDispatcherOwner)( enabled: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html, parent: https://developer.android.com/reference/kotlin/androidx/navigationevent/NavigationEventDispatcherOwner? )` Remembers a new `https://developer.android.com/reference/kotlin/androidx/navigationevent/NavigationEventDispatcherOwner` which creates a dispatcher linked to a parent dispatcher found in the composition. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/navigationevent/compose/NavigationEventState<T>` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable <T : https://developer.android.com/reference/kotlin/androidx/navigationevent/NavigationEventInfo> https://developer.android.com/reference/kotlin/androidx/navigationevent/compose/package-summary#rememberNavigationEventState(androidx.navigationevent.NavigationEventInfo,kotlin.collections.List,kotlin.collections.List)( currentInfo: T, backInfo: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<T>, forwardInfo: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<T> )` Remembers and returns a `https://developer.android.com/reference/kotlin/androidx/navigationevent/compose/NavigationEventState` instance. | Cmn |

## Top-level properties summary

|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/runtime/HostDefaultKey<https://developer.android.com/reference/kotlin/androidx/navigationevent/NavigationEventDispatcherOwner?>` | `https://developer.android.com/reference/kotlin/androidx/navigationevent/compose/package-summary#NavigationEventDispatcherOwnerHostDefaultKey()` A `https://developer.android.com/reference/kotlin/androidx/compose/runtime/HostDefaultKey` used to retrieve the `https://developer.android.com/reference/kotlin/androidx/navigationevent/NavigationEventDispatcherOwner` provided by the current hosting environment. | Cmn android N |

## Top-level functions

### NavigationBackHandler

Cmn Artifact: [androidx.navigationevent:navigationevent-compose](https://developer.android.com/jetpack/androidx/releases/navigationevent) [View Source](https://cs.android.com/search?q=file:androidx/navigationevent/compose/NavigationEventHandler.kt+function:NavigationBackHandler) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/navigationevent#1.0.0)

```
@Composable
fun NavigationBackHandler(
    state: NavigationEventState<NavigationEventInfo>,
    isBackEnabled: Boolean = true,
    onBackCancelled: () -> Unit = {},
    onBackCompleted: () -> Unit
): Unit
```

A composable that handles only back navigation gestures, driven by a manually hoisted `https://developer.android.com/reference/kotlin/androidx/navigationevent/compose/NavigationEventState`.

This is a convenience wrapper around the core `https://developer.android.com/reference/kotlin/androidx/navigationevent/NavigationEventHandler` overload for cases where forward navigation is not relevant. Use this overload when hoisting state (e.g., for custom animations).

Refer to the primary `https://developer.android.com/reference/kotlin/androidx/navigationevent/NavigationEventHandler` KDoc for details on precedence, unconditional usage, and timing considerations.

| Parameters |
|---|---|
| `state: https://developer.android.com/reference/kotlin/androidx/navigationevent/compose/NavigationEventState<https://developer.android.com/reference/kotlin/androidx/navigationevent/NavigationEventInfo>` | The hoisted `https://developer.android.com/reference/kotlin/androidx/navigationevent/compose/NavigationEventState` (returned from `https://developer.android.com/reference/kotlin/androidx/navigationevent/compose/package-summary#rememberNavigationEventState(androidx.navigationevent.NavigationEventInfo,kotlin.collections.List,kotlin.collections.List)`) to be registered. |
| `isBackEnabled: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html = true` | Controls whether back navigation gestures are handled. |
| `onBackCancelled: () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html = {}` | Called if a back navigation gesture is cancelled. |
| `onBackCompleted: () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | Called when a back navigation gesture completes and navigation occurs. |

### NavigationEventHandler

Cmn Artifact: [androidx.navigationevent:navigationevent-compose](https://developer.android.com/jetpack/androidx/releases/navigationevent) [View Source](https://cs.android.com/search?q=file:androidx/navigationevent/compose/NavigationEventHandler.kt+function:NavigationEventHandler) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/navigationevent#1.0.0)

```
@Composable
fun NavigationEventHandler(
    state: NavigationEventState<NavigationEventInfo>,
    isForwardEnabled: Boolean = true,
    onForwardCancelled: () -> Unit = {},
    onForwardCompleted: () -> Unit = {},
    isBackEnabled: Boolean = true,
    onBackCancelled: () -> Unit = {},
    onBackCompleted: () -> Unit = {}
): Unit
```

A composable that handles navigation events using simple lambda handlers, driven by a manually hoisted `https://developer.android.com/reference/kotlin/androidx/navigationevent/compose/NavigationEventState`.

This is the core implementation of the navigation event handler. This overload must be used when you need to hoist the `https://developer.android.com/reference/kotlin/androidx/navigationevent/compose/NavigationEventState` (by calling `https://developer.android.com/reference/kotlin/androidx/navigationevent/compose/package-summary#rememberNavigationEventState(androidx.navigationevent.NavigationEventInfo,kotlin.collections.List,kotlin.collections.List)` at a higher level). Hoisting is necessary when other composables need to react to the gesture's `https://developer.android.com/reference/kotlin/androidx/navigationevent/NavigationEventTransitionState` (held within the `state` object), for example, to drive custom animations.

## Precedence

When multiple `https://developer.android.com/reference/kotlin/androidx/navigationevent/compose/package-summary#NavigationEventHandler(androidx.navigationevent.compose.NavigationEventState,kotlin.Boolean,kotlin.Function0,kotlin.Function0,kotlin.Boolean,kotlin.Function0,kotlin.Function0)` are present in the composition, the one that is composed *last* among all enabled handlers will be invoked.

## Usage

It is important to call this composable **unconditionally** . Use `https://developer.android.com/reference/kotlin/androidx/navigationevent/compose/package-summary#NavigationEventHandler(androidx.navigationevent.compose.NavigationEventState,kotlin.Boolean,kotlin.Function0,kotlin.Function0,kotlin.Boolean,kotlin.Function0,kotlin.Function0)` and `https://developer.android.com/reference/kotlin/androidx/navigationevent/compose/package-summary#NavigationEventHandler(androidx.navigationevent.compose.NavigationEventState,kotlin.Boolean,kotlin.Function0,kotlin.Function0,kotlin.Boolean,kotlin.Function0,kotlin.Function0)` to control whether the handler is active. This is preferable to conditionally calling `https://developer.android.com/reference/kotlin/androidx/navigationevent/compose/package-summary#NavigationEventHandler(androidx.navigationevent.compose.NavigationEventState,kotlin.Boolean,kotlin.Function0,kotlin.Function0,kotlin.Boolean,kotlin.Function0,kotlin.Function0)` (e.g., inside an `if` block), as conditional calls can change the order of composition, leading to unpredictable behavior where different handlers are invoked after recomposition.

## Timing Consideration

There are cases where a predictive back or forward gesture may be dispatched within a rendering frame before the corresponding `enabled` flag is updated, which can cause unexpected behavior (see [b/375343407](https://issuetracker.google.com/375343407), [b/384186542](https://issuetracker.google.com/384186542)). For example, if `https://developer.android.com/reference/kotlin/androidx/navigationevent/compose/package-summary#NavigationEventHandler(androidx.navigationevent.compose.NavigationEventState,kotlin.Boolean,kotlin.Function0,kotlin.Function0,kotlin.Boolean,kotlin.Function0,kotlin.Function0)` is set to `false`, a back gesture initiated in the same frame may still trigger this handler because the system sees the stale `true` value.

| Parameters |
|---|---|
| `state: https://developer.android.com/reference/kotlin/androidx/navigationevent/compose/NavigationEventState<https://developer.android.com/reference/kotlin/androidx/navigationevent/NavigationEventInfo>` | The hoisted `https://developer.android.com/reference/kotlin/androidx/navigationevent/compose/NavigationEventState` (returned from `https://developer.android.com/reference/kotlin/androidx/navigationevent/compose/package-summary#rememberNavigationEventState(androidx.navigationevent.NavigationEventInfo,kotlin.collections.List,kotlin.collections.List)`) to be registered. This object links this handler's callbacks to the unique handler instance that is producing the state. |
| `isForwardEnabled: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html = true` | Controls whether forward navigation gestures are handled. |
| `onForwardCancelled: () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html = {}` | Called if a forward navigation gesture is cancelled. |
| `onForwardCompleted: () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html = {}` | Called when a forward navigation gesture completes. |
| `isBackEnabled: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html = true` | Controls whether back navigation gestures are handled. |
| `onBackCancelled: () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html = {}` | Called if a back navigation gesture is cancelled. |
| `onBackCompleted: () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html = {}` | Called when a back navigation gesture completes. |

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | If the provided `https://developer.android.com/reference/kotlin/androidx/navigationevent/compose/NavigationEventState` is passed to multiple `https://developer.android.com/reference/kotlin/androidx/navigationevent/compose/package-summary#NavigationEventHandler(androidx.navigationevent.compose.NavigationEventState,kotlin.Boolean,kotlin.Function0,kotlin.Function0,kotlin.Boolean,kotlin.Function0,kotlin.Function0)` Composable. Each handler must have its own unique state. |

### NavigationForwardHandler

Cmn Artifact: [androidx.navigationevent:navigationevent-compose](https://developer.android.com/jetpack/androidx/releases/navigationevent) [View Source](https://cs.android.com/search?q=file:androidx/navigationevent/compose/NavigationEventHandler.kt+function:NavigationForwardHandler) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/navigationevent#1.0.0)

```
@Composable
fun NavigationForwardHandler(
    state: NavigationEventState<NavigationEventInfo>,
    isForwardEnabled: Boolean = true,
    onForwardCancelled: () -> Unit = {},
    onForwardCompleted: () -> Unit
): Unit
```

A composable that handles only forward navigation gestures, driven by a manually hoisted `https://developer.android.com/reference/kotlin/androidx/navigationevent/compose/NavigationEventState`.

This is a convenience wrapper around the core `https://developer.android.com/reference/kotlin/androidx/navigationevent/NavigationEventHandler` overload for cases where back navigation is not relevant. Use this overload when hoisting state.

Refer to the primary `https://developer.android.com/reference/kotlin/androidx/navigationevent/NavigationEventHandler` KDoc for details on precedence, unconditional usage, and timing considerations.

| Parameters |
|---|---|
| `state: https://developer.android.com/reference/kotlin/androidx/navigationevent/compose/NavigationEventState<https://developer.android.com/reference/kotlin/androidx/navigationevent/NavigationEventInfo>` | The hoisted `https://developer.android.com/reference/kotlin/androidx/navigationevent/compose/NavigationEventState` (returned from `https://developer.android.com/reference/kotlin/androidx/navigationevent/compose/package-summary#rememberNavigationEventState(androidx.navigationevent.NavigationEventInfo,kotlin.collections.List,kotlin.collections.List)`) to be registered. |
| `isForwardEnabled: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html = true` | Controls whether forward navigation gestures are handled. |
| `onForwardCancelled: () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html = {}` | Called if a forward navigation gesture is cancelled. |
| `onForwardCompleted: () -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | Called when a forward navigation gesture completes and navigation occurs. |

### rememberNavigationEventDispatcherOwner

Cmn Artifact: [androidx.navigationevent:navigationevent-compose](https://developer.android.com/jetpack/androidx/releases/navigationevent) [View Source](https://cs.android.com/search?q=file:androidx/navigationevent/compose/RememberNavigationEventDispatcherOwner.kt+function:rememberNavigationEventDispatcherOwner) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/navigationevent#1.0.0)

```
@Composable
fun rememberNavigationEventDispatcherOwner(
    enabled: Boolean = true,
    parent: NavigationEventDispatcherOwner? = checkNotNull(LocalNavigationEventDispatcherOwner.current) {
            "No NavigationEventDispatcherOwner provided in LocalNavigationEventDispatcherOwner. " +
                "If you intended to create a root dispatcher, explicitly pass null as the parent."
        }
): NavigationEventDispatcherOwner
```

Remembers a new `https://developer.android.com/reference/kotlin/androidx/navigationevent/NavigationEventDispatcherOwner` which creates a dispatcher linked to a parent dispatcher found in the composition.

This composable creates a dispatcher that links to any parent dispatcher found in the composition, forming a parent-child relationship. If no parent exists, it automatically becomes a new root dispatcher, this is the top-most parent in a hierarchy. This is useful for isolating navigation handling within specific UI sections, such as a self-contained feature screen or tab.

The dispatcher's lifecycle is automatically managed. It is created only once and automatically disposed of when the composable leaves the composition, preventing memory leaks.

When used to create a root dispatcher, you must use a `https://developer.android.com/reference/kotlin/androidx/navigationevent/NavigationEventInput` to send it events. Otherwise, the dispatcher will be detached and will not receive events.

To provide the new `https://developer.android.com/reference/kotlin/androidx/navigationevent/NavigationEventDispatcherOwner` to a sub-composition, use `https://developer.android.com/reference/kotlin/androidx/compose/runtime/package-summary#CompositionLocalProvider(kotlin.Array,kotlin.Function0)`:

androidx.navigationevent.compose.samples.RememberNavigationEventDispatcherOwner

**Null parent:** If `https://developer.android.com/reference/kotlin/androidx/navigationevent/compose/package-summary#rememberNavigationEventDispatcherOwner(kotlin.Boolean,androidx.navigationevent.NavigationEventDispatcherOwner)` is **EXPLICITLY** `null`, this creates a root dispatcher that runs independently. By default, it requires a parent from the `https://developer.android.com/reference/kotlin/androidx/navigationevent/compose/LocalNavigationEventDispatcherOwner` and will throw an `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-state-exception/index.html` if one is not present.

| Parameters |
|---|---|
| `enabled: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html = true` | Controls if the dispatcher is active. If this value changes, the dispatcher's `isEnabled` property will be updated. When `false`, this dispatcher and any of its children will not receive events. Defaults to `true`. |
| `parent: https://developer.android.com/reference/kotlin/androidx/navigationevent/NavigationEventDispatcherOwner? = checkNotNull(LocalNavigationEventDispatcherOwner.current) { "No NavigationEventDispatcherOwner provided in LocalNavigationEventDispatcherOwner. " + "If you intended to create a root dispatcher, explicitly pass null as the parent." }` | The `https://developer.android.com/reference/kotlin/androidx/navigationevent/NavigationEventDispatcherOwner` to use as the parent, or `null` if it is a root. Defaults to the owner from `https://developer.android.com/reference/kotlin/androidx/navigationevent/compose/LocalNavigationEventDispatcherOwner`. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/navigationevent/NavigationEventDispatcherOwner` | A new `https://developer.android.com/reference/kotlin/androidx/navigationevent/NavigationEventDispatcherOwner` that is remembered across compositions. |

### rememberNavigationEventState

Cmn Artifact: [androidx.navigationevent:navigationevent-compose](https://developer.android.com/jetpack/androidx/releases/navigationevent) [View Source](https://cs.android.com/search?q=file:androidx/navigationevent/compose/RememberNavigationEventState.kt+function:rememberNavigationEventState) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/navigationevent#1.0.0)

```
@Composable
fun <T : NavigationEventInfo> rememberNavigationEventState(
    currentInfo: T,
    backInfo: List<T> = emptyList(),
    forwardInfo: List<T> = emptyList()
): NavigationEventState<T>
```

Remembers and returns a `https://developer.android.com/reference/kotlin/androidx/navigationevent/compose/NavigationEventState` instance.

This composable creates and remembers a `https://developer.android.com/reference/kotlin/androidx/navigationevent/compose/NavigationEventState` object, which holds a `https://developer.android.com/reference/kotlin/androidx/navigationevent/compose/package-summary#NavigationEventHandler(androidx.navigationevent.compose.NavigationEventState,kotlin.Boolean,kotlin.Function0,kotlin.Function0,kotlin.Boolean,kotlin.Function0,kotlin.Function0)` internally. This is the state object that can be passed to `https://developer.android.com/reference/kotlin/androidx/navigationevent/compose/package-summary#NavigationEventHandler(androidx.navigationevent.compose.NavigationEventState,kotlin.Boolean,kotlin.Function0,kotlin.Function0,kotlin.Boolean,kotlin.Function0,kotlin.Function0)` (the composable) to "hoist" the state.

The state's handler info (currentInfo, backInfo, forwardInfo) is kept in sync with the provided parameters via a `https://developer.android.com/reference/kotlin/androidx/compose/runtime/package-summary#SideEffect(kotlin.Function0)`.

| Parameters |
|---|---|
| `<T : https://developer.android.com/reference/kotlin/androidx/navigationevent/NavigationEventInfo>` | The type of `https://developer.android.com/reference/kotlin/androidx/navigationevent/NavigationEventInfo` this state will manage. |
| `currentInfo: T` | The object representing the current destination. |
| `backInfo: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<T> = emptyList()` | A list of destinations the user may navigate back to (nearest-first). |
| `forwardInfo: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<T> = emptyList()` | A list of destinations the user may navigate forward to (nearest-first). |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/navigationevent/compose/NavigationEventState<T>` | A stable, remembered `https://developer.android.com/reference/kotlin/androidx/navigationevent/compose/NavigationEventState` instance. |

## Top-level properties

### NavigationEventDispatcherOwnerHostDefaultKey

Cmn android N Artifact: [androidx.navigationevent:navigationevent-compose](https://developer.android.com/jetpack/androidx/releases/navigationevent) [View Source](https://cs.android.com/search?q=file:androidx/navigationevent/compose/LocalNavigationEventDispatcherOwner.+symbol:NavigationEventDispatcherOwnerHostDefaultKey)

```
val NavigationEventDispatcherOwnerHostDefaultKey: HostDefaultKey<NavigationEventDispatcherOwner?>
```

A `https://developer.android.com/reference/kotlin/androidx/compose/runtime/HostDefaultKey` used to retrieve the `https://developer.android.com/reference/kotlin/androidx/navigationevent/NavigationEventDispatcherOwner` provided by the current hosting environment.

This key allows the composition to access the host's `https://developer.android.com/reference/kotlin/androidx/navigationevent/NavigationEventDispatcherOwner` through a decoupled mechanism, typically used by `https://developer.android.com/reference/kotlin/androidx/compose/runtime/package-summary#compositionLocalWithHostDefaultOf(androidx.compose.runtime.HostDefaultKey)`.

On platforms where a `https://developer.android.com/reference/kotlin/androidx/navigationevent/NavigationEventDispatcherOwner` is not present or supported, this may resolve to `null`.

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/runtime/HostDefaultKey` |   |
| `https://developer.android.com/reference/kotlin/androidx/compose/runtime/package-summary#compositionLocalWithHostDefaultOf(androidx.compose.runtime.HostDefaultKey)` |   |