goToNamed method

void goToNamed(
  1. String name, {
  2. GlobalKey<NavigatorState>? navigatorKey,
  3. Map<String, String> pathParameters = const <String, String>{},
  4. Map<String, dynamic> queryParameters = const <String, dynamic>{},
})

Helper function to navigate to a named route

Implementation

void goToNamed(
  String name, {
  GlobalKey<NavigatorState>? navigatorKey,
  Map<String, String> pathParameters = const <String, String>{},
  Map<String, dynamic> queryParameters = const <String, dynamic>{},
}) {
  if (navigatorKey != null && navigatorKey.currentContext != null) {
    navigatorKey.currentContext!.goNamed(
      name,
      pathParameters: pathParameters,
      queryParameters: queryParameters,
    );
  } else {
    final reason = navigatorKey == null
        ? 'parentNavigatorKey was null'
        : 'parentNavigatorKey.currentContext was null';
    _logger.fine(
      'Could not navigate to named route "$name" as $reason. '
      'Navigating to the route directly using the application\'s '
      'root navigation router.',
    );
    if (_goRouter != null) {
      _goRouter.goNamed(
        name,
        pathParameters: pathParameters,
        queryParameters: queryParameters,
      );
    } else {
      final msg = 'Could not navigate to named route '
          '"$name" as the root nav goRouter was null.';

      _logger.severe(msg);
      throw Exception(msg);
    }
  }
}