【发布时间】:2021-09-06 23:16:56
【问题描述】:
我有一个名为userName 的变量,它依赖于数据库查询,所以异步是必须的。
我的旧代码可以这样总结
class IndexScreen extends StatefulWidget {
@override
_IndexScreenState createState() => _IndexScreenState();
}
//use database query function
Future<void> initUser() async{
UserTable().getUserInfo(curUserEmail).then((value)=>null);
}
//show page
class _IndexScreenState extends State<IndexScreen> {
@override
Widget build(BuildContext context) {
initUser().then((value){
final theme = Theme.of(context);
return WillPopScope(
onWillPop: () =>router.navigateTo(context, '/welcome'),
child: SafeArea(
child: Scaffold(
//The static global variable is used in Body in other files
body: Body()
),
),
);
});
}
}
它警告小姐return,我不知道如何修改我的代码。
谢谢!!
【问题讨论】:
-
为什么不使用 FutureBuilder?完成未来后,按您的意愿加载屏幕会很有帮助。
标签: flutter asynchronous build widget future