Flutter在我的应用程序中存在一个小错误,即当用户登录后,它会从我的数据库中获取用户信息,但速度不够快,并在应用程序的前端引起视觉错误。该应用程序具有使用用户信息(名称,位置和图像)的布局,并且加载速度不够快。我想知道是否有一种方法可以等待我的将来完成,一旦完成,它就可以毫无问题地将用户导航到前端。
您应该从initState()函数中的数据库中获取日期,然后必须修改窗口小部件生成器以使用FutureBuilder,这是一个示例:
initState()
FutureBuilder
Widget build(BuildContext context) { return FutureBuilder( future: getProfile(), builder: (BuildContext context, AsyncSnapshot<SharedPreferences> snapshot) { if(snapshot.connectionState == ConnectionState.done){ return new MaterialApp(); } } ) }
请注意,您可以用函数返回AsyncSnapshot<SharedPreferences>的类型替换Future。
AsyncSnapshot<SharedPreferences>
Future