didReplace method

  1. @override
void didReplace({
  1. Route? newRoute,
  2. Route? oldRoute,
})
override

The Navigator replaced oldRoute with newRoute.

Implementation

@override
void didReplace({Route<dynamic>? newRoute, Route<dynamic>? oldRoute}) {
  super.didReplace(newRoute: newRoute, oldRoute: oldRoute);
  final now = DateTime.now();
  if (oldRoute != null) {
    _recordRouteLifecycle(oldRoute, RouteAction.replaceOut, now);
  }
  if (newRoute != null) {
    _recordRouteLifecycle(newRoute, RouteAction.replaceIn, now);
    if (_enablePerformanceTracking) {
      _startRoutePerformanceTracking(newRoute);
    }
    _updatePageInfoTracker(newRoute, 'replace');
  }
  _handleNavigation(toRoute: newRoute, fromRoute: oldRoute, action: RouteAction.replace, timestamp: now);
}