【问题标题】:Subroute data management using go_router in Flutter在 Flutter 中使用 go_router 进行子路由数据管理
【发布时间】:2022-11-08 21:49:13
【问题描述】:

我有一个关于 Flutter 在使用 go_router 导航时如何进行数据/状态管理的概念性问题。我的应用程序有一个主页,其中包含一个显示数据库事件列表的日历(使用 riverpod 包来监听 API 调用)。我还有一个单独的事件页面,显示给定 ID 的事件数据。到事件的路由是主路由的子路由(参见下面的路由定义)。

我想让用户通过移动设备上的通知或页面的 URL(例如host/event/SomeEventID)立即导航到此事件页面。但是,为了最大限度地减少 API 调用,我想知道这种类型的导航是否以任何可能触发 API 调用以获取所有事件的方式调用 HomePage 构建器,如果是,如何防止这种情况发生。

当前路线定义:

List<GoRoute> routes => <GoRoute>[
      GoRoute(
        name: 'home',
        path: '/',
        builder: (_, __) => const HomePage(),
        routes: <GoRoute>[
          GoRoute(
            name: 'event',
            path: 'event/:id',
            builder: (context, state) {
                // TODO: Fetch data
                // NOTE: Navigate to home if the id does not match an event
                // final String id = state.params['id']!;
            },
          ),
        ],
      ),
    ];

【问题讨论】:

    标签: flutter flutter-go-router


    【解决方案1】:

    我找到了一种直接导航到子路由的方法,事实证明,即使没有导航到 HomePage 也确实可以构建。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-30
      • 2023-02-18
      • 1970-01-01
      • 2021-03-04
      • 1970-01-01
      • 1970-01-01
      • 2015-11-16
      • 1970-01-01
      相关资源
      最近更新 更多