flutter-gorouter-navigation
Typed routes, route state, and redirection using go_router.
安装与使用
请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。
查看来源 ↗使用指南技能说明
GoRouter Navigation
Priority: P0 (CRITICAL)
Type-safe deep linking and routing system using go_router and go_router_builder.
Structure
core/router/
├── app_router.dart # Router configuration
└── routes.dart # Typed route definitions (GoRouteData)
Implementation Guidelines
-
Typed Routes: Always use
GoRouteDatafromgo_router_builder. Never use raw path strings. -
Root Router: One global
GoRouterinstance registered in DI. -
Sub-Routes: Nest related routes using
TypedGoRouteand children lists. -
Redirection: Handle Auth (Login check) in the
redirectproperty of theGoRouterconfig. -
Parameters: Use
@TypedGoRouteto define paths with:idparameters. -
Transitions: Define standard transitions (Fade, Slide) in
buildPage. -
Navigation: Use
MyRoute().go(context)orMyRoute().push(context).
Code
// Route Definition
@TypedGoRoute<HomeRoute>(path: '/')
class HomeRoute extends GoRouteData {
@override
Widget build(context, state) => const HomePage();
}
// Router Config
final router = GoRouter(
routes: $appRoutes,
redirect: (context, state) {
if (notAuthenticated) return '/login';
return null;
},
);
Related Topics
layer-based-clean-architecture | auto-route-navigation | security
使用示例
查看来源仓库中的使用示例与配置说明。
查看来源 ↗来源历史
- 收录时间
- 2026-01-20
- 索引更新时间
- 2026-01-26
- Branch
- main
收录与同步日期属于本站记录。源码修改历史请查看来源仓库。
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!