Navigator class

A widget that manages a stack of Route objects.

The navigator maintains a route stack and provides methods to push and pop routes, similar to Flutter's Navigator. Each route produces overlay entries that are rendered in a layered Overlay.

Basic usage

Navigator(
  home: HomeScreen(),
)

Named routing

Navigator(
  initialRoute: '/',
  routes: {
    '/': (context) => HomeScreen(),
    '/settings': (context) => SettingsScreen(),
    '/profile': (context) => ProfileScreen(),
  },
)

Accessing the navigator

Navigator.of(context).push(PageRoute(
  builder: (context) => DetailScreen(),
));
Inheritance

Constructors

Creates a navigator.

Properties

children List<Widget>
Child widgets that receive forwarded messages.
no setterinherited
debugRenderObjectPassthrough bool
Whether this widget is intentionally transparent to render-object layouts.
no setterinherited
focusable bool
Whether this widget can receive keyboard focus.
no setterinherited
hashCode int
The hash code for this object.
no setterinherited
home Widget?
The widget for the default route of the navigator.
final
id String
Unique identifier for this widget.
no setterinherited
initialRoute String?
The name of the first route to display.
final
key Key?
Key for preserving widget identity.
finalinherited
observers List<NavigatorObserver>
Observers that receive notifications of route changes.
final
onGenerateRoute RouteFactory?
Called to generate a route for a given RouteSettings.
final
onUnknownRoute RouteFactory?
Called when onGenerateRoute fails to generate a route.
final
popBehavior PopBehavior
Configuration for keyboard-triggered pop behavior.
final
routes Map<String, Widget Function(BuildContext)>?
A map of named routes.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
theme Theme
Access the current theme.
no setterinherited

Methods

buildCachedView<T>(T builder(), Object? cacheKey) → T
Returns a cached view if the cache key matches.
inherited
createState() State<Navigator>
Creates the mutable State associated with this widget.
override
handleInit() Cmd?
Override this instead of init for widget-specific initialization.
inherited
handleIntercept(Msg msg) → (Widget, Cmd?)
Override this to handle messages before they reach children.
inherited
handleUpdate(Msg msg) → (Widget, Cmd?)
Override this to handle messages specific to this widget.
inherited
init() Cmd?
Called once when the widget is first mounted.
inherited
invalidateCachedView() → void
Clears any cached view for this widget.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited
update(Msg msg) → (Model, Cmd?)
Handles messages by forwarding to children then calling handleUpdate.
inherited
view() Object
Renders the widget to a string or View.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

maybeOf(BuildContext context) NavigatorState?
Returns the NavigatorState from the closest Navigator ancestor, or null if no Navigator ancestor exists.
of(BuildContext context) NavigatorState
Returns the NavigatorState from the closest Navigator ancestor.