pushRoute method

void pushRoute(
  1. Route route, {
  2. String? name,
  3. bool replace = false,
})

Puts a new route on top of the navigation stack.

The route may also be given a name, in which case it will be cached in the routes map under this name (if there was already a route with the same name, it will be overwritten).

The method calls Route.didPush for this new route after it is added.

Implementation

void pushRoute(Route route, {String? name, bool replace = false}) {
  final previousRouteArgument = currentRoute;
  if (name != null) {
    route.name = name;
    _routes[name] = route;
  }
  if (replace) {
    _removeTopRoute(route);
  }
  add(route);
  _routeStack.add(route);
  _adjustRoutesOrder();
  route.didPush(previousRouteArgument);
  _adjustRoutesVisibility();
}