Flutter模块重定向到404页



我使用flutter_modular进行flutter-web导航。

import 'package:flutter_modular/flutter_modular.dart';
class AppModule extends Module {
@override
final List<Bind> binds = [];
@override
final List<ModularRoute> routes = [
ChildRoute('/', child: (_, __) => HomeScreen()),
ChildRoute('/signin', child: (_, __) => SignInPage()),
ChildRoute('/login', child: (_, __) => LogInPage()),
ChildRoute('/404', child: (_, __) => Custome404()),
];
}

如果不幸的是用户键入了类似CCD_ 1的URL。flutter模块插件显示错误Error: RouteNotFoundException: Route (/rferwg) not found。现在谁可以在代码中设置默认的404页面?

您可以使用WildcardRoute:

WildcardRoute(child: (context, args) => NotFoundPage()),

根据其文件:

每个模块只有一个WildcardRoute,如果可能的话,让它成为最后一个元素。

您在某处使用MaterialAppCupertinoAppWidgetsApp吗?如果是这样,您可以使用onUnknownRoute属性:

onUnknownRoute: (settings) {
return MaterialPageRoute(builder: (_) => PageNotFound());
},

https://medium.com/flutter/handling-404-page-not-found-error-in-flutter-731f5a9fba29

最新更新