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

Flutter应用页面路由无法跳转至其他页面问题求助

解决Flutter路由跳转"Could not find a generator for route"错误

问题根源

你的路由表appRoutes中,about的路由键定义为'about',但跳转时调用的是Navigator.pushNamed(context, '/about'),两者路由键不匹配,导致Flutter无法找到对应的路由生成器。

修复方案

有两种可行的修复方式:

方式1:统一路由键为带斜杠格式

修改route.dart中的路由表,给所有非根路由的键添加前缀/,保持与跳转路径一致:

import 'package:quizapp/about/about.dart';
import 'package:quizapp/home/home.dart';
import 'package:quizapp/login/login.dart';
import 'package:quizapp/topic/topic.dart';
import 'package:quizapp/profile/profile.dart';

var appRoutes = {
  '/': (context) => const HomeScreen(),
  '/about': (context) => const AboutScreen(),
  '/login': (context) => const LoginScreen(),
  '/topic': (context) => const TopicScreen(),
  '/profile': (context) => const ProfileScreen()
};

这种方式无需修改跳转代码,更符合Flutter路由的常规命名规范。

方式2:修改跳转代码匹配路由键

如果不想调整路由表,可将home.dart中的跳转代码改为不带斜杠的路由名:

ElevatedButton(
  onPressed: () => Navigator.pushNamed(context, 'about'),
  child: const Text('About Page'),
)

验证修复

修改完成后重新运行应用,点击首页的"About Page"按钮,即可正常跳转到About页面。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 21:50:20