navigate<T> method

Future<T> navigate<T>(
  1. String name, {
  2. BaseArguments? args,
  3. NavigationType navigationType = NavigationType.push,
  4. dynamic result,
  5. bool removeUntilPredicate(
    1. Route route
    )?,
  6. List<SeafarerTransition>? transitions,
  7. Duration? transitionDuration,
  8. Curve? transitionCurve,
  9. Map<String, dynamic>? params,
  10. CustomSeafarerTransition? customTransition,
})

Function used to navigate pages.

name is the route name that was registered using addRoute.

args are optional arguments that can be passed to the next page. To retrieve these arguments use args method on seafarer.

navigationType can be specified to choose from various navigation strategies such as NavigationType.push, NavigationType.pushReplace, NavigationType.pushAndRemoveUntil.

removeUntilPredicate should be provided if using NavigationType.pushAndRemoveUntil strategy.

transitions is a list of transitions to be used when switching between pages. transitionDuration and transitionCurve are duration and curve used for these transitions.

params are key pair values that can be passed when navigating to a route.

Provide a custom transition with customTransition to seafarer instead of using inbuilt transitions, if not provided, seafarer will revert to use its default transitions or delegate to system's own transitions.

Implementation

Future<T> navigate<T>(
  String name, {
  BaseArguments? args,
  NavigationType navigationType = NavigationType.push,
  dynamic result,
  bool Function(Route<dynamic> route)? removeUntilPredicate,
  List<SeafarerTransition>? transitions,
  Duration? transitionDuration,
  Curve? transitionCurve,
  Map<String, dynamic>? params,
  CustomSeafarerTransition? customTransition,
}) {
  assert(navigationType != NavigationType.pushAndRemoveUntil ||
      removeUntilPredicate != null);

  _checkAndThrowRouteNotFound(name, args, navigationType);

  return _navigate(
    name,
    args,
    navigationType,
    result,
    removeUntilPredicate,
    transitions,
    transitionDuration,
    transitionCurve,
    params,
    customTransition,
  ).then((value) => value as T);
}