Flutter — добавление responsive_framework в MaterialApp приводит к тому, что клавиша навигации становится нулевой

Я пытаюсь добавить responsive_framework в свое приложение.

Когда я меняю это:

          return MaterialApp(
            theme: lightTheme,
            darkTheme: darkTheme,
            navigatorKey: globalKey,
            onGenerateRoute: (settings) {
              return AppRoutes.onGenerateRoute(settings, ref);
            },
            builder: (_, child) {
              return child!;
            });
}

К этому:

      return MaterialApp(
            theme: lightTheme,
            darkTheme: darkTheme,
            navigatorKey: globalKey,
            onGenerateRoute: (settings) {
              return AppRoutes.onGenerateRoute(settings, ref);
            },
            builder: (context, child) {
              return ResponsiveWrapper.builder(
                  BouncingScrollWrapper(child: child!),
                  breakpoints: const [
                    ResponsiveBreakpoint.resize(350, name: MOBILE),
                    ResponsiveBreakpoint.autoScale(600, name: TABLET),
                    ResponsiveBreakpoint.resize(800, name: DESKTOP),
                    ResponsiveBreakpoint.autoScale(1700, name: 'XL'),
                  ]);
            });

Чтобы добавить Flutter responsive_framework в мое приложение, моя клавиша навигации становится нулевой.

Ключ глобальный:final globalKey = GlobalKey<NavigatorState>();

И в классе есть геттер, который имеет:

NavigatorState? get _navigator => globalKey.currentState;

И есть код, который переходит на домашнюю страницу с помощью этого ключа:

_navigator!.pushNamedAndRemoveUntil(LOGGED_OUT_HOME, (route) => false);который выдает нулевое исключение на_navigator.

Кто-нибудь знает, почему я изменилMaterialAppвернутьResponsiveWrapperвызвало это?

0 ответов

Другие вопросы по тегам