返回 Skill 列表
extension
分类: 开发与工程无需 API Key

Flutter GetX Navigation

无上下文导航、命名路由和使用GetX的中间件。在使用Flutter中的GetX实现导航或路由中间件时采用。

person作者: jakexiaohubgithub

GetX Navigation

Priority: P0 (CRITICAL)

Decoupled navigation system allowing UI transitions without BuildContext.

Guidelines

  • Named Routes: Use Get.toNamed('/path'). Define routes in AppPages.
  • Navigation APIs:
    • Get.to(): Push new route.
    • Get.off(): Replace current route.
    • Get.offAll(): Clear stack and push.
    • Get.back(): Pop route/dialog/bottomSheet.
  • Bindings: Link routes with Bindings for automated lifecycle.
  • Middleware: Implement GetMiddleware for Auth/Permission guards.

Code Example

static final routes = [
  GetPage(
    name: _Paths.HOME,
    page: () => HomeView(),
    binding: HomeBinding(),
    middlewares: [AuthMiddleware()],
  ),
];

// Usage in Controller
void logout() => Get.offAllNamed(Routes.LOGIN);

Anti-Patterns

  • Navigator Context: Do not use Navigator.of(context) with GetX.
  • Hardcoded Routes: Use a Routes constant class.
  • Direct Dialogs: Use Get.dialog() and Get.snackbar().

References

Related Topics

getx-state-management | feature-based-clean-architecture