IRoute constructor

IRoute({
  1. String initialRoute = '/',
  2. required Map<String, RouteBuilder> routes,
  3. List<String>? tabs,
  4. RouteGuard<ParsedRoute>? guard,
  5. required dynamic navigatorKey,
  6. required Widget child,
})

Implementation

IRoute({
  //parser需要的
  String initialRoute = '/',
  required Map<String, RouteBuilder> routes,
  List<String>? tabs,

  ///  [RouteGuard] used to redirect.
  RouteGuard<ParsedRoute>? guard,

  //delegate需要的
  required navigatorKey,
  required Widget child,
} //无需builder,直接赋予rootNavigator一个child就

    )  : parser = IRouteParser(initialRoute: initialRoute, routes: routes, tabs: tabs, guard: guard),
      _route = ParsedRoute(initialRoute) {
  delegate = IRouterDelegate(
      routeState: this, child: child, navigatorKey: navigatorKey);
  _route = parser.initialRoute;
  //_routes = parser.routes;
}