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
вызвало это?