Flutter Go Router
A declarative routing package for Flutter that uses the Router API to provide a convenient, url-based API for navigating between different screens. You can define URL patterns, navigate using a URL, handle deep links, and a number of other navigation-related scenarios.
Features
GoRouter has a number of features to make navigation straightforward:
-
Parsing path and query parameters using a template syntax (for example, "user/:id')
-
Displaying multiple screens for a destination (sub-routes)
-
Redirection support - you can re-route the user to a different URL based on application state, for example to a sign-in when the user is not authenticated
-
Support for multiple Navigators via ShellRoute - you can display an inner Navigator that displays its own pages based on the matched route. For example, to display a BottomNavigationBar that stays visible at the bottom of the screen
-
Support for both Material and Cupertino apps
-
Backwards-compatibility with Navigator API