繁体   English   中英

在 Flutter 中获取当前用户 uid 为 Firebase 的数据

[英]Fetch Firebase data with current user uid in Flutter

我想使用 Firebase 在 flutter 中创建一个聊天应用程序,我必须在屏幕上显示当前用户“姓名”。 我尝试了一种方法,但它似乎不起作用。 它给我留下了一个空白文本。

String myName = '';
  String myUsername = '';

  Future<void> _getCurrentUserName() async {
    final uid = FirebaseAuth.instance.currentUser!.uid;

    FirebaseFirestore.instance
        .collection("users")
        .doc(uid)
        .get()
        .then((snapshot) {
      setState(() {
        myName = snapshot['name'].toString();
        myUsername = snapshot['username'].toString();
      });
    });
  }

  @override
  void initState() {
    super.initState();
    _getCurrentUserName();
  }

你能帮我吗? 提前致谢。

试试这个:

String myName = '';
  String myUsername = '';

  Future<void> _getCurrentUserName() async {
    final uid = FirebaseAuth.instance.currentUser!.uid;

    FirebaseFirestore.instance
        .collection("users")
        .doc(uid)
        .get()
        .then((snapshot) {
      setState(() {
        myName = (snapshot.data() as Map<String, dynamic>)['name'].toString(); // change this
        myUsername = (snapshot.data() as Map<String, dynamic>)['username'].toString(); // and this
      });
    });
  }

  @override
  void initState() {
    super.initState();
    _getCurrentUserName();
  }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM