首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >空不是类型字符串的子类型。

空不是类型字符串的子类型。
EN

Stack Overflow用户
提问于 2022-03-18 18:16:06
回答 1查看 48关注 0票数 0

你好,我是新手,我正在尝试从他的电子邮件中检索用户数据,但是我得到了这个错误-- Null不是类型字符串的子类型,我想要检索的数据不是null,这是我的代码

代码语言:javascript
复制
class _ProfilePageState extends State<ProfilePage> {

late User user;

final _auth = FirebaseAuth.instance;

late User signedInUser;

var id;



var email;

 var name;

var age;

  var sex;

  @override
  void initState() {

 super.initState();
    onRefresh(FirebaseAuth.instance.currentUser);
    getCurrentUser();

}

  onRefresh(userCare) 
{

setState(()
 {
      user = userCare;
    });
  }

  void getCurrentUser() 
{
    try {         
      final user = _auth.currentUser;
      if (user != null) {
        signedInUser = user;
        email = signedInUser.email;
        id = signedInUser.uid;
      }
    } catch (e) {
      print(e);
    }
  }

  void getData() {
    FirebaseFirestore.instance
        .collection('users')
        .get()
        .then((QuerySnapshot querySnapshot) {
      querySnapshot.docs.forEach((doc) {
   
 if (doc["email"] == signedInUser.email) {
      name = doc['name'];
      age = doc['age'];
      sex = doc['sex'];
      print(doc['name']);
    }
  });
});

}

这是我想要检索的数据,但我做不到,因为它写的是null,如何修复错误?

这就是我要检索的数据

误差图像

EN

回答 1

Stack Overflow用户

发布于 2022-03-18 18:37:21

请试用此代码:

代码语言:javascript
复制
void getData() async {
    await FirebaseFirestore.instance
                .collection('users')
                .get()
                .then((value) {
              for(var doc in value.docs) {
           
         if (doc["email"] == signedInUser.email) {
              name = doc.data()['name'];
              age = doc.data()['age'];
              sex = doc.data()['sex'];
              print(doc.data()['name']);
            }
            }
          });
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71531497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档