buildNavigatorTree method

void buildNavigatorTree(
  1. Element element,
  2. RouteInfo routeInfo
)

反向遍历生成路由树

Implementation

void buildNavigatorTree(Element element, RouteInfo routeInfo) {
  var navigatorState = element.findAncestorStateOfType<NavigatorState>();

  if (navigatorState?.context != null) {
    var parent = RouteInfo(
      current: ModalRoute.of(navigatorState!.context),
      parentNavigator: navigatorState.widget,
    );
    routeInfo.parent = parent;
    return buildNavigatorTree(
      navigatorState.context as StatefulElement,
      parent,
    );
  }
}