最近更新后在 Flutter 应用程序中使用 GoRouter 访问 queryParams 时出现问题

问题描述 投票:0回答:1

我在使用 GoRouter 包进行路由时在 Flutter 应用程序中访问

queryParams
时遇到问题。最近的更新似乎导致了从定义点的路线访问
queryParams
的方式发生了变化。这是我的代码片段:

final _router = GoRouter(
    routes: [
      GoRoute(
        path: OnBoardingScreen.route(),
        name: OnBoardingScreen.route(),
        builder: (context, state) {
          return OnBoardingScreen(
            next: state.queryParameters['next'],
          );
        },
      ),
    ],
  );

以前,我可以直接从状态访问

queryParams
。然而,最近更新后,
queryParams
似乎无法从状态访问。

我将非常感谢任何有关如何解决此问题的见解或建议。预先感谢您的帮助!

flutter dart flutter-go-router gorouter
1个回答
0
投票

更新 10.0.0 引入了一些重大更改,其中之一是从

queryParameters
中删除了
GoRouterState
getter。

路线的完整 URI 位于状态的

uri
属性中,其中包括查询参数。您可以使用 queryParameters
 类的 
Uri
 getter 访问它,如下所示:

state.uri.queryParameters['next']
© www.soinside.com 2019 - 2024. All rights reserved.