SuperAPI AI Directory

flutter-navigation

Coding & development

View repository

Updated 10-15 22:13

About this skill

Flutter Navigation

Priority: P1 (HIGH)

Implementation Workflow

  1. Choose router — Use go_router for modern, declarative routing.
  2. Define routes — Use constants or code generation for route paths; never hardcode strings.
  3. Configure deep links — Set up AndroidManifest.xml and the iOS URL-type settings for app URL schemes.
  4. Validate parameters — Check parameters in redirect logic before navigation.
  5. Preserve tab state — Use StatefulShellRoute or IndexedStack for bottom navigation.

Route Configuration Example

See implementation examples for GoRouter configuration with parameter validation and redirects.

Routing Patterns & Examples

Anti-Patterns

  • No Manual URL Parsing: Use go_router built-in parsing instead of Uri.parse(url)
  • No Manual Tab State Management: Use IndexedStack or StatefulShellRoute to preserve state
  • No Unvalidated Deep Link IDs: Always check existence in redirect
  • No Hardcoded Route Strings: Use constants (e.g., Routes.orders) or code-gen instead of '/orders'

Related Topics

flutter-design-system | flutter-notifications | mobile-ux-core

Canonical response anchors

When this skill applies, preserve the following domain terminology or equivalent concrete examples in the answer when relevant:

  • Android
  • iOS URL-type