Не удалось найти генератор для маршрута RouteSettings ("chat", null) в _CustomTabViewState
У меня есть набор маршрутов, которые я определил в
routes.dart
и эти маршруты связаны в
main.dart
файл, как показано ниже.
@override
Widget build(BuildContext context) {
return MultiProvider(
providers: [
StreamProvider<ConnectivityStatus>(
create: (_) => ConnectionService().connectionStatusController.stream,
),
...
ChangeNotifierProvider<AuthNotifier>(
create: (_) => AuthNotifier(),
),
],
child: MaterialApp(
debugShowCheckedModeBanner: false,
routes: Routes.routes,
home: SplashScreen(),
),
);
}
Routes.dart
файл:
class Routes {
Routes._();
static const chat = '/chat';
static final routes = <String, WidgetBuilder>{
chat: (BuildContext ctx) => CircleChat(),
};
}
У меня есть кнопка, которая запускает указанный выше маршрут, но выдает ошибку.
FlatButton(
Navigator.of(context).pushReplacementNamed(Routes.chat);
)
Ошибка -
Следующее утверждение было выдано при обработке жеста: Не удалось найти генератор для маршрута RouteSettings("chat", null) в _CustomTabViewState. Генераторы маршрутов ищутся в следующем порядке:
- Для маршрута "/" используется свойство "builder", если оно не равно нулю.
- В противном случае используется таблица маршрутов, если в ней есть запись для маршрута.
- В противном случае вызывается onGenerateRoute. Он должен возвращать ненулевое значение для любого действительного маршрута, не обрабатываемого "построителем" и "маршрутами".
- Наконец, если все остальное не удается, вызывается onUnknownRoute. К сожалению, onUnknownRoute не ставился.
Когда было создано исключение, это был стек:#0 _CustomTabViewState._onUnknownRoute.
PS - Для аналогичной ошибки я прошел через то и это, но я не нашел объяснения, почему он не работает, когда вся семантика верна.
1 ответ
Используйте маршруты или свойство onGenerateRoutes в CuptinoTabView для CuptinoTabBar и передайте здесь свои маршруты или аргументы onGenerateRoutes.