Flutter Modular 重定向到 404 页面
Flutter Modular redirect to 404 page
我使用 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()),
];
}
如果不幸的是用户键入了 URL,例如 example.com/gfhgfhb/
。
flutter 模块化插件显示错误 Error: RouteNotFoundException: Route (/rferwg) not found
。现在谁可以在代码中设置默认 404 页面?
您在某处使用 MaterialApp
、CupertinoApp
或 WidgetsApp
吗?如果是这样,您可以使用 onUnknownRoute
属性:
onUnknownRoute: (settings) {
return MaterialPageRoute(builder: (_) => PageNotFound());
},
https://medium.com/flutter/handling-404-page-not-found-error-in-flutter-731f5a9fba29
你可以使用 WildcardRoute :
WildcardRoute(child: (context, args) => NotFoundPage()),
根据其 documentation :
Have only one WildcardRoute per module and, if possible, let it be the
last element.
我使用 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()),
];
}
如果不幸的是用户键入了 URL,例如 example.com/gfhgfhb/
。
flutter 模块化插件显示错误 Error: RouteNotFoundException: Route (/rferwg) not found
。现在谁可以在代码中设置默认 404 页面?
您在某处使用 MaterialApp
、CupertinoApp
或 WidgetsApp
吗?如果是这样,您可以使用 onUnknownRoute
属性:
onUnknownRoute: (settings) {
return MaterialPageRoute(builder: (_) => PageNotFound());
},
https://medium.com/flutter/handling-404-page-not-found-error-in-flutter-731f5a9fba29
你可以使用 WildcardRoute :
WildcardRoute(child: (context, args) => NotFoundPage()),
根据其 documentation :
Have only one WildcardRoute per module and, if possible, let it be the last element.