翩翩-如何从登录界面切换到主界面再回到主界面?后台能用,但不手动刷新就不能显示屏幕。

问题描述 投票:0回答:1

1.这是主入口

void main()  {
    WidgetsFlutterBinding.ensureInitialized();
    StorageUtil.getInstance();
     runApp(MaterialApp(home: MyApp()));
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Wrapper(),
    );
  }
}
  1. 这是Wrapper。登录表格或主页不显示,除非我手动热加载应用程序。我已经尝试了一切,但我卡住了。请帮助我。
class Wrapper extends StatefulWidget {

  @override
  _WrapperState createState() => _WrapperState();
}

class _WrapperState extends State<Wrapper> {
  User _user = User();

  @override
  Widget build(BuildContext context) {
    _user.uId = StorageUtil.getString('access_token');
    if(_user.uId != null && _user.uId != ""){
      print('filled ${_user.uId}');
        return Home();
    }else{
      print('empty ${_user.uId}');
        return Authenticate();
    }
  }
}
flutter authentication flow
1个回答
0
投票

我认为你的StorageUtil给了你获取数据的承诺,但你并没有在应用程序第一次加载时等待它,你可以尝试在主块中 await StorageUtil.getInstance();。

void main() async {
    WidgetsFlutterBinding.ensureInitialized();
    await StorageUtil.getInstance();
    runApp(MaterialApp(home: MyApp()));
}
© www.soinside.com 2019 - 2024. All rights reserved.