0

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

这是我的主页

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(),
                },
              );
            },
          );
        },
      ),
    );
  }
}

4

1 回答 1

0

您不能将 initialRoute 与路由映射一起使用,要么从路由映射中删除“/”,要么删除 initialRoute:

于 2021-03-15T13:58:49.960 回答