首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >snapshot.data.data()为空

snapshot.data.data()为空
EN

Stack Overflow用户
提问于 2021-04-09 23:44:24
回答 1查看 61关注 0票数 0
代码语言:javascript
运行
复制
class Profile extends StatefulWidget {
  @override
  _ProfileState createState() => _ProfileState();
}

class _ProfileState extends State<Profile> {
  Future<DocumentSnapshot> getData() async {
    return await FirebaseFirestore.instance
        .collection('user')
        .doc(FirebaseAuth.instance.currentUser.uid)
        .get();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Profile'),
      ),
      body: FutureBuilder(
        future: getData(),
        builder: (context, AsyncSnapshot<DocumentSnapshot> snapshot) {
          if (snapshot.connectionState == ConnectionState.done) {
            if (snapshot.data.data() == null)
              return Center(child: Text((snapshot.data.data()).toString()));
            else
              return ListView.builder(
                  shrinkWrap: true,
                  itemCount: 1,
                  itemBuilder: (BuildContext context, int index) {
                    return ListTile(
                      title: Text(snapshot.data.data()['email']),
                    );
                  });
          } else if (snapshot.connectionState == ConnectionState.none) {
            return Text("No data");
          } else
            return CircularProgressIndicator();
        },
      ),
    );
  }
}

这段代码总是显示'null‘。snapshot.data.data()为空的原因是什么?我是一个新的未来的建设者,我不明白什么可能是这个错误的原因。

EN

回答 1

Stack Overflow用户

发布于 2021-04-10 00:54:53

只需使用snapshot.data==null!snapshot.exists

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67024229

复制
相关文章

相似问题

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