navigate<T> method
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);
}