问题描述
我是这个框架的新手,这里初始路由不接受登录会话值请帮我解决这个问题。我尝试使用初始屏幕添加主页,但这也不起作用我没有发现这有什么问题。
这是我的主页
Future main() async {
SystemChrome.setsystemUIOverlayStyle(systemUIOverlayStyle(
statusBarColor: Colors.transparent,statusBarIconBrightness: Brightness.dark,));
runApp(Phoenix(child: AmericanCuisine()));
}
class AmericanCuisine extends StatefulWidget {
@override
_AmericanCuisinestate createState() => _AmericanCuisinestate();
}
class _AmericanCuisinestate extends State<AmericanCuisine> {
bool isLoggedIn;
@override
void initState() {
super.initState();
getData();
}
getData() async {
WidgetsFlutterBinding.ensureInitialized();
SharedPreferences storage = await SharedPreferences.getInstance();
setState(() {
isLoggedIn = storage.getBool("loggedIn");
});
}
@override
Widget build(BuildContext context) {
return MultiBlocProvider(
providers: [
BlocProvider<LanguageCubit>(
create: (context) => LanguageCubit(),),BlocProvider<ThemeCubit>(
create: (context) => ThemeCubit(),],
在这个页面中使用 BlockBuilder 后如何给出初始路由
child: BlocBuilder<ThemeCubit,ThemeData>(
builder: (_,theme) {
return BlocBuilder<LanguageCubit,Locale>(
builder: (_,locale) {
return MaterialApp(
localizationsDelegates: [
const AppLocalizationsDelegate(),GlobalMaterialLocalizations.delegate,GlobalWidgetsLocalizations.delegate,supportedLocales: [
const Locale('en'),locale: locale,theme: theme,//This initial rout is not working.
initialRoute: isLoggedIn == false ?'/': '/homeOrderAccount',routes: {
// When navigating to the "/" route,build the FirstScreen widget.
'/': (context) => openingScreen(),'/homeOrderAccount': (context) => HomeOrderAccount(),},);
},);
},);
}
}
解决方法
您不能将initialRoute 与路由映射一起使用,或者从路由映射中删除'/' 或删除initialRoute: