API Reference / @gtkx/navigation / DefaultNavigatorOptions
Type Alias: DefaultNavigatorOptions<ParamList, NavigatorID, State, ScreenOptions, EventMap, Navigation>
DefaultNavigatorOptions<
ParamList,NavigatorID,State,ScreenOptions,EventMap,Navigation> =DefaultRouterOptions<Keyof<ParamList>> &object&NavigatorIDextendsstring?object:object
Defined in: node_modules/.pnpm/@react-navigation+core@7.21.13_react@19.2.8/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts:112
Type Declaration
children
children:
React.ReactNode
Children React Elements to extract the route configuration from. Only Screen, Group and React.Fragment are supported as children.
layout?
optionallayout?: (props) =>React.ReactElement
Layout for the navigator. Useful for wrapping with a component with access to navigator's state and options.
Parameters
props
children
React.ReactNode
descriptors
Record<string, Descriptor<ScreenOptions, NavigationProp<ParamList, keyof ParamList, string | undefined, State, ScreenOptions, EventMap>, ScreenRouteProp<ParamList>>>
navigation
NavigationHelpers<ParamList>
state
State
Returns
React.ReactElement
screenLayout?
optionalscreenLayout?: (props) =>React.ReactElement
Layout for all screens under this navigator.
Parameters
props
ScreenLayoutArgs<ParamList, keyof ParamList, ScreenOptions, Navigation>
Returns
React.ReactElement
screenListeners?
optionalscreenListeners?:ScreenListeners<State,EventMap> | ((props) =>ScreenListeners<State,EventMap>)
Event listeners for all the screens in the navigator.
screenOptions?
optionalscreenOptions?:ScreenOptions| ((props) =>ScreenOptions)
Default options for all screens under this navigator.
UNSTABLE_routeNamesChangeBehavior?
optionalUNSTABLE_routeNamesChangeBehavior?:"firstMatch"|"lastUnhandled"
What should happen when the available route names change. e.g. when different screens are rendered based on a condition.
- 'firstMatch': Navigate to the first route in the new list of routes (default).
- 'lastUnhandled': Restore the last state that was unhandled due to conditional render.
Example cases where previous state might have been unhandled:
- Opened a deep link to a screen, but a login screen was shown.
- Navigated to a screen containing a navigator, but a different screen was shown.
- Reset the navigator to a state with different routes not matching the current list of routes.
In these cases, 'lastUnhandled' will reuse the unhandled state if present. If there's no unhandled state, it will fallback to 'firstMatch' behavior.
Caveats:
- Direct navigation is only handled for
NAVIGATEactions. - Unhandled state is restored only if the current state becomes invalid, i.e. it doesn't contain any currently defined screens.
UNSTABLE_router?
optionalUNSTABLE_router?: <Action>(original) =>Partial<Router<State,Action>>
A function returning overrides for the underlying router used by the navigator. The overrides will be shallow merged onto the original router. It receives the original router as an argument to the function.
This must be a pure function and cannot reference outside dynamic variables.
Type Parameters
Action
Action extends NavigationAction
Parameters
original
Router<State, Action>
Returns
Partial<Router<State, Action>>
Type Parameters
ParamList
ParamList extends ParamListBase
NavigatorID
NavigatorID extends string | undefined
State
State extends NavigationState
ScreenOptions
ScreenOptions extends object
EventMap
EventMap extends EventMapBase
Navigation
Navigation