Flutter导入新页面实现新屏幕跳转时出现报错该如何解决?
Flutter页面跳转导入报错排查与解决方案

- 检查导入路径正确性
Flutter对文件名大小写敏感,注意相对路径层级是否匹配,比如新页面存放在lib/page/DetailPage.dart,当前入口文件在lib/main.dart,导入语句需要写import 'page/DetailPage.dart';,不要出现拼写错误、大小写不匹配的问题。 - 检查目标页面类定义
跳转的目标必须是继承StatelessWidget或StatefulWidget的Widget类,类名要和跳转时调用的名称完全一致,比如定义类为class DetailPage extends StatelessWidget,跳转代码就要对应写:Navigator.push( context, MaterialPageRoute(builder: (context) => const DetailPage()), ); - 检查调用Navigator的上下文有效性
不能在没有MaterialApp父节点的上下文中调用Navigator,不要直接在MaterialApp的home参数所传的匿名Widget内调用跳转,建议把首页抽成单独的Widget类使用。 - 检查空安全适配
Flutter 2.0及以上版本默认开启空安全,若目标页面有标记required的入参,跳转时必须传入符合空安全要求的参数,未做非空处理的变量不能直接传递。
内容的提问来源于stack exchange,提问作者Manoj Rava
相关产品推荐
相关产品推荐

