LocalHistoryRoute<T> mixin Null safety

A mixin used by routes to handle back navigations internally by popping a list.

When a Navigator is instructed to pop, the current route is given an opportunity to handle the pop internally. A LocalHistoryRoute handles the pop internally if its list of local history entries is non-empty. Rather than being removed as the current route, the most recent LocalHistoryEntry is removed from the list and its LocalHistoryEntry.onRemove is called.

Superclass Constraints
Mixin Applications


willHandlePopInternally bool
Whether calling didPop would return false.
read-only, override
The navigator that the route is in, if any.
read-only, inherited
settings RouteSettings
The settings for this route.
read-only, inherited
restorationScopeId ValueListenable<String?>
The restoration scope ID to be used for the RestorationScope surrounding this route.
read-only, inherited
overlayEntries List<OverlayEntry>
The overlay entries of this route.
read-only, inherited
currentResult → T?
When this route is popped (see Navigator.pop) if the result isn't specified or if it's null, this value will be used instead.
read-only, inherited
popped Future<T?>
A future that completes when this route is popped off the navigator.
read-only, inherited
isCurrent bool
Whether this route is the top-most route on the navigator.
read-only, inherited
isFirst bool
Whether this route is the bottom-most active route on the navigator.
read-only, inherited
hasActiveRouteBelow bool
Whether there is at least one active route underneath this route.
@protected, read-only, inherited
isActive bool
Whether this route is on the navigator.
read-only, inherited
hashCode int
The hash code for this object.
read-only, inherited
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited


addLocalHistoryEntry(LocalHistoryEntry entry) → void
Adds a local history entry to this route.
changedExternalState() → void
Called whenever the Navigator has updated in some manner that might affect routes, to indicate that the route may wish to rebuild as well.
@mustCallSuper, @protected, inherited
changedInternalState() → void
Called whenever the internal state of the route has changed.
@mustCallSuper, @protected, inherited
didAdd() → void
Called after install when the route is added to the navigator.
@mustCallSuper, @protected, inherited
didChangeNext(Route? nextRoute) → void
This route's next route has changed to the given new route.
@mustCallSuper, @protected, inherited
didChangePrevious(Route? previousRoute) → void
This route's previous route has changed to the given new route.
@mustCallSuper, @protected, inherited
didComplete(T? result) → void
The route was popped or is otherwise being removed somewhat gracefully.
@mustCallSuper, @protected, inherited
didPop(T? result) bool
A request was made to pop this route. If the route can handle it internally (e.g. because it has its own stack of internal state) then return false, otherwise return true (by returning the value of calling super.didPop). Returning false will prevent the default behavior of NavigatorState.pop.
didPopNext(Route nextRoute) → void
The given route, which was above this one, has been popped off the navigator.
@mustCallSuper, @protected, inherited
didPush() TickerFuture
Called after install when the route is pushed onto the navigator.
@mustCallSuper, @protected, inherited
didReplace(Route? oldRoute) → void
Called after install when the route replaced another in the navigator.
@mustCallSuper, @protected, inherited
dispose() → void
Discards any resources used by the object.
@mustCallSuper, @protected, inherited
install() → void
Called when the route is inserted into the navigator.
@mustCallSuper, @protected, inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed.
removeLocalHistoryEntry(LocalHistoryEntry entry) → void
Remove a local history entry from this route.
toString() String
A string representation of this object.
willPop() Future<RoutePopDisposition>
Returns whether calling Navigator.maybePop when this Route is current (isCurrent) should do anything.


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