flutter-navigation について
Flutter 開発者向けに、アプリケーション状態を基準としたナビゲーション設計を扱うスキルです。URL、ディープリンク、状態復元、認証リダイレクト、ネストナビゲーションを扱い、既存のルーティング方式の維持を重視します。
主な機能
- 01ルーティングとプラットフォーム要件の確認
- 02型付きルートとパラメーターの検証
- 03決定的なリダイレクトの設計
- 04複数ナビゲーターでの戻る動作の維持
- 05ディープリンクと状態復元への対応
- 06ナビゲーション副作用を build の外に配置
活用シーン
- 01既存の Flutter ルーターの確認
- 02安全な遷移先を持つディープリンクの追加
- 03タブ履歴とネストナビゲーションのサポート
- 04リダイレクトと復元動作のテスト
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ thienqo/ flutter-skills --skill flutter-navigationインストール後、Claude Code で/flutter-navigationを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
evals/cases.jsonreferences/deep-link-and-restoration.mdnested-shell-navigation.md詳細
Flutter のナビゲーション
URL、ディープリンク、状態復元、複数のナビゲーターが必要な場合は、アプリケーションの状態としてナビゲーションをモデル化してください。本当にローカルなフローでは、よりシンプルな命令型ナビゲーションを使用してください。
まず確認すること
現在のルーター、ルートの所有者、認証フロー、タブ/シェルの構成、対応プラットフォーム、URL の要件、状態復元への期待を確認してください。移行が求められていない限り、既存のルーティングパッケージを維持してください。
ルール
- ルート名、パスパラメーター、引数のデコードは、型安全にするか、一元的に検証してください。
- リダイレクトロジックは決定論的にし、リダイレクトループが発生しないようにしてください。
- Android のシステムバック、ブラウザーの履歴、iOS のジェスチャー、ネストしたナビゲーター、モーダルをまたいで、意図した戻る動作を維持してください。
- タブシェルなど、独立した履歴が必要な場合に限り、ネストしたナビゲーションを使用してください。
- ディープリンクはドメインで安全に扱える状態にパースし、不明な宛先や認可されていない宛先への動作を定義してください。
- ナビゲーションの副作用をウィジェットの
buildの外に置いてください。 - 大きなドメインオブジェクトを URL や状態復元データに直接含めないでください。
検証
コールドディープリンク、ウォームリンク、戻る/進むの動作、認証リダイレクト、無効なパラメーター、必要に応じた状態復元、各シェル/タブの履歴をテストしてください。
参考資料
タブシェルのパターンや独立した戻る履歴が対象となる場合は、ネストしたシェルナビゲーションのリファレンスに従ってください。 ディープリンクや状態復元を扱う場合は、ディープリンクと状態復元のリファレンスに従ってください。
出典
コメント
Markdown 対応