$route<T extends ShellRouteData> static method
ShellRoute
$route<T extends ShellRouteData>({
- required T factory(),
- List<
RouteBase> routes = const <RouteBase>[], - List<
NavigatorObserver> ? observers, - String? restorationScopeId,
A helper function used by generated code.
Should not be used directly.
Implementation
static ShellRoute $route<T extends ShellRouteData>({
required T Function(GoRouterState) factory,
GlobalKey<NavigatorState>? navigatorKey,
GlobalKey<NavigatorState>? parentNavigatorKey,
List<RouteBase> routes = const <RouteBase>[],
List<NavigatorObserver>? observers,
String? restorationScopeId,
}) {
T factoryImpl(GoRouterState state) {
return (_stateObjectExpando[state] ??= factory(state)) as T;
}
FutureOr<String?> redirect(BuildContext context, GoRouterState state) =>
factoryImpl(state).redirect(context, state);
Widget builder(
BuildContext context,
GoRouterState state,
Widget navigator,
) =>
factoryImpl(state).builder(
context,
state,
navigator,
);
Page<void> pageBuilder(
BuildContext context,
GoRouterState state,
Widget navigator,
) =>
factoryImpl(state).pageBuilder(
context,
state,
navigator,
);
return ShellRoute(
builder: builder,
pageBuilder: pageBuilder,
parentNavigatorKey: parentNavigatorKey,
routes: routes,
navigatorKey: navigatorKey,
observers: observers,
restorationScopeId: restorationScopeId,
redirect: redirect,
);
}