tree: 5ea1ff379242aefd10595f3e0bee8b457ad28acb [path history] [tgz]
  1. doc/
  2. example/
  3. lib/
  4. test/
  5. .gitignore
  6. .metadata
  7. AUTHORS
  8. CHANGELOG.md
  9. dartdoc_options.yaml
  10. LICENSE
  11. pubspec.yaml
  12. README.md
packages/go_router/README.md

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

Documentation

See the API documentation for details on the following topics:

Migration guides

Changelog

See the Changelog for a list of new features and breaking changes.

Roadmap

See the GitHub project for a prioritized list of feature requests and known issues.