tree: 1ffdc12ebd0bd25c117c40ddb7d6be8864d70058 [path history] [tgz]
  1. doc/
  2. example/
  3. lib/
  4. test/
  5. test_fixes/
  6. tool/
  7. .gitignore
  8. .metadata
  9. analysis_options.yaml
  10. AUTHORS
  11. CHANGELOG.md
  12. dartdoc_options.yaml
  13. LICENSE
  14. pubspec.yaml
  15. 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.