Flutter main.dart initialRout 不工作

问题描述

我是这个框架的新手,这里初始路由不接受登录会话值请帮我解决这个问题。我尝试使用初始屏幕添加主页,但这也不起作用我没有发现这有什么问题。

这是我的主页

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: