didFailPagelessRoute method
void
didFailPagelessRoute({})
Called when a pageless route creation attempt fails.
This occurs when:
- Route type is not supported by compatibility layer (e.g., PopupMenuRoute)
- Route cannot be converted to page-based navigation
- Observer blocked processing via willPushPagelessRoute returning false
The route will fall back to native Navigator behavior (pageless mode).
Note: This is called from YxNavigator after catching UnsupportedRouteException,
just before falling back to native Navigator.
Parameters
routeNodeReadable- TheRouteNodeReadableinstance that provides access to the parent node of the created route noderoute- The route that failed to be convertederror- The UnsupportedRouteException that occurredrouteNode- Alwaysnull- route was never successfully created
Example
@override
void didFailPagelessRoute({
required RouteNodeReadable routeNodeReadable,
required Route<dynamic> route,
required Object error,
required RouteNode? routeNode,
}) {
// Log unsupported routes
logger.warning(
'Route fallback to native Navigator: ${route.runtimeType}',
error: error,
);
// Track in analytics
analytics.trackEvent('unsupported_route', {
'route_type': route.runtimeType.toString(),
'route_name': route.settings.name,
});
}
Implementation
void didFailPagelessRoute({
required RouteNodeReadable routeNodeReadable,
required Route<dynamic> route,
required Object error,
required RouteNode? routeNode,
}) {}