当我在做我的项目时,我遇到了无法预料的情况,如果我打开一个嵌套了 FutureBuilder 小部件的页面,然后返回另一个页面并专注于文本字段以输入内容,则会导致导航到我嵌套了 futurebuilder 的同一页面。
_UserProfileState() {
FromSharedPref().getString('userId').then((value) {
setState(() {
userId = value;
});
});
}
@override
Widget build(BuildContext context) {
return FutureBuilder<DocumentSnapshot>(
future: FirebaseFirestore.instance.collection('users').doc(userId).get(),
builder: (context, snapshot) {
if (!snapshot.hasData) {
return Container(
color: Colors.white,
child: Center(
child: CircularProgressIndicator(),
),
);
} else {
AppUser user = AppUser.fromJason(snapshot.data.data());
return ProfileForm(
user: user,
);
}
},
);
}
}
当我厌倦了使用未来的构建器获取 sharedPreference 数据时,我遇到了那个错误。但是当我删除嵌套的 futureBuilder 时它就消失了。