Open1
flutter:go_routerメモ
GoRouter
のRedirect設定:context.namedLocation()
⇨state.namedLocation()
Flutterの公式ドキュメントでは,redirectで特定のルート(画面)に遷移する際,context.namedLocation()
メソッドが使用できると記載されている.しかし,GoRouter
のリダイレクト(Top-level redirection.画面遷移が行われる前に始まるリダイレクト.※特定の画面遷移操作が行われたときに起こるリダイレクトは,Route-level redirectionと呼ぶ.)では,そのメソッドは使用できない.代わりにstate.Location()
メソッドを使えば,リダイレクト操作が実現可能となる.
下記のIssuerに寄せられたコメントおよび,go_router
のコミットログによると,context.namedLocation
をTop-level redirectionで使用すれば,エラーを吐くようにしているぽい.
- GitHub Issue
It seems like there isn't a way to insert dependencies for redirect. Since we decide to keep named location in goRouterState, the remaining item will be adding some documentation or improving error message on context.namedLocation when using in top-level redirect.
- GitHubリポジトリ