Навигатор.На общем маршруте был нулевой Флаттер

#flutter

Вопрос:

Я использую

     Navigator.of(context).pushNamed(
                  AllCategoryScreen.routeName,
                )),
// route generator
    class AppRouter {
    const AppRouter._();

    static Route<dynamic> onGenerateRoute(RouteSettings settings) {
    switch (settings.name) {
      case MainScreen.routeName:
        return MaterialPageRoute(builder: (_) => MainScreen());
        break;
      case HomeScreen.routeName:
        return MaterialPageRoute(builder: (_) => HomeScreen());
        break;
      case WelcomeScreen.routeName:
        return MaterialPageRoute(builder: (_) => WelcomeScreen());
        break;
      case LoginScreen.routeName:
        return MaterialPageRoute(builder: (_) => LoginScreen());
        break;
      case RegisterScreen.routeName:
        return MaterialPageRoute(builder: (_) => RegisterScreen());
        break;
      case ResetPasswordScreen.routeName:
        return MaterialPageRoute(builder: (_) => ResetPasswordScreen());
        break;
      case ChangePasswordScreen.routeName:
        return MaterialPageRoute(builder: (_) => ChangePasswordScreen());
        break;
      case OtpScreen.routeName:
        return MaterialPageRoute(builder: (_) => OtpScreen());
        break;
      case ProductDetailsScreen.routeName:
        return MaterialPageRoute(builder: (_) => ProductDetailsScreen());
        break;
      case FavoriteScreen.routeName:
        return MaterialPageRoute(builder: (_) => FavoriteScreen());
        break;
      case ChatsScreen.routeName:
        return MaterialPageRoute(builder: (_) => ChatsScreen());
        break;
      case AllCategoryScreen.routeName:
        return MaterialPageRoute(builder: (_) => AllCategoryScreen());
        break;
      case AddNewAdScreen.routeName:
        return MaterialPageRoute(builder: (_) => AddNewAdScreen());
        break;
      case AddAdSearchScreen.routeName:
        return MaterialPageRoute(builder: (_) => AddAdSearchScreen());
        break;
      default:
        throw const RouteException("Page Not Found");
     }
     }
     }
 

но я получаю эту ошибку
Navigator.onGenerateRoute был равен нулю, но указывался маршрут с именем «/экран всех категорий».

и я использую блок для управления состоянием аутентификации, если аутентифицирован или нет, я не знаю, в этом проблема или нет

Комментарии:

1. «статический маршрут<динамический> onGenerateRoute(настройки маршрутов) { переключатель (settings.name) { case MainScreen.Имя маршрута: возврат MaterialPageRoute(конструктор: (_) =<динамический>> Основной экран()); перерыв; по умолчанию: исключение const RouteException(«Страница не найдена»); } } ‘

2. Я обновил вопрос

3. да, я думаю, что знаю, что я сделал неправильно, я использую навигатор приложений, используя навигатор блоков( страницы: [ если (состояние не подтверждено)) Страница материалов( дочерний элемент: BlocProvider( создать: (контекст) = > AuthCubit(sessionCubit: контекст.чтение><SessionCubit> ()), дочерний элемент: AuthNavigator (),),), если (состояние аутентифицировано) Страница материалов(дочерний элемент: главный экран ())], onPopPage: (маршрут, результат) =<SessionCubit>> маршрут.didPop(результат),);»‘

4. и я должен использовать эту идею во всем приложении Я новичок в блоке и нашел эту новую идею навигатора приложений хорошей, но теперь я хочу изменить все приложение на этот навигатор, есть идеи ?