Firebase 无法将数据值分配给字符串-返回null-颤振

Firebase 无法将数据值分配给字符串-返回null-颤振,firebase,flutter,dart,google-cloud-firestore,Firebase,Flutter,Dart,Google Cloud Firestore,在我的代码中,我尝试将一个字符串值赋给一个空字符串并显示在页面上,但它一直显示null,但当我打印出来时,它显示该值 String fName = ''; @override void initState() { super.initState(); getData(); } getData() async { FirebaseAuth _auth = FirebaseAuth.instance; User _firebaseUser = _auth.

在我的代码中,我尝试将一个字符串值赋给一个空字符串并显示在页面上,但它一直显示null,但当我打印出来时,它显示该值

String fName = '';

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

getData() async {
    FirebaseAuth _auth = FirebaseAuth.instance;
    User _firebaseUser = _auth.currentUser;
    print("============ MyHome ================");
    print(_firebaseUser.uid);
    _currentUser = await Database().getUserData(_firebaseUser.uid);
    if (_currentUser != null) {
      fName = _currentUser.firstName;
      print(_currentUser.firstName);
    } 
  }
数据库

请说明如何执行此操作,或者我是否遗漏了某些内容

使用setState以以下值重建小部件树:

setState(() { 
fName = _currentUser.firstName;
});
使用setState以以下值重建小部件树:

setState(() { 
fName = _currentUser.firstName;
});

因为getData函数是异步的,所以在getData完成之前,flatter已经构建了小部件树。现在必须使用setstate更新状态

setState(() {
   fName = _currentUser.firstName;
});
setState(() {
   fName = _currentUser.firstName;
});

因为getData函数是异步的,所以在getData完成之前,flatter已经构建了小部件树。现在必须使用setstate更新状态

setState(() {
   fName = _currentUser.firstName;
});
setState(() {
   fName = _currentUser.firstName;
});

您需要设置新状态,因为我们已经更改了以前的状态,因为getData函数是异步的


您需要设置新状态,因为我们已经更改了以前的状态,因为getData函数是异步的