You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Flutter中使用go_router获取当前路由的名称?

如何从URI获取对应路由名称

根据你的需求,在完成路由迁移后,可通过当前路由的匹配记录提取对应的路由名称,以下是不同技术栈的实现方式:

Vue Router(Vue 3)

直接通过路由实例获取名称:

import { useRoute } from 'vue-router'

const currentRoute = useRoute()
console.log(currentRoute.name) // 输出示例中的 product_details

React Router v6

结合路由配置与当前位置匹配获取名称:

import { useLocation, matchRoutes } from 'react-router-dom'
import yourRouteConfig from './path-to-your-routes' // 你的路由配置数组

const location = useLocation()
const matchedRoutes = matchRoutes(yourRouteConfig, location)

if (matchedRoutes.length) {
  console.log(matchedRoutes[0].route.name) // 输出目标路由名称
}

Flutter GoRouter

通过路由状态获取名称:

// 在组件内获取
final currentRouteName = GoRouterState.of(context).name;
// 或通过路由实例获取
final routeName = GoRouter.of(context).routeInformationProvider.value.routeName;

通用注意事项

  • 确保你的路由配置中,每个URI规则都明确设置了对应的name字段(如示例中的product_details);
  • 若使用自定义路由系统,需在URI匹配逻辑中同步返回路由名称元数据。

内容的提问来源于stack exchange,提问作者devblock

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 16:07:34