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
-
- Object
- Widget
- StatefulWidget
- Navigator
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
nullif no Navigator ancestor exists. -
of(
BuildContext context) → NavigatorState - Returns the NavigatorState from the closest Navigator ancestor.