0

当我在做我的项目时,我遇到了无法预料的情况,如果我打开一个嵌套了 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 时它就消失了。

4

0 回答 0