I want to get the email of currently logged in user in accountEmail field. But it is displaying Instance of 'Future' in place of email. Below is the function to get the id of currently logged in user:
Future <String> getUserId() async{
FirebaseUser user = await FirebaseAuth.instance.currentUser();
return user.uid;
}
And in this way I am getting it:
new UserAccountsDrawerHeader(
accountName: new Text("Admin"),
accountEmail: new Text(getUserId().toString()),
),
I am new to flutter and any help would be highly appreciated.
Inside the initState, do the following:
FirebaseUser user = null;
@override
void initState() {
super.initState();
user = await FirebaseAuth.instance.currentUser();
}
Then you can do:
new UserAccountsDrawerHeader(
accountName: new Text("Admin"),
accountEmail: new Text(user.email.toString()),
),
Try using FutureBuilder
UserAccountsDrawerHeader(
accountName: new Text("Admin"),
accountEmail: FutureBuilder(
future: getUserId(),
builder: (context,snapshot){
if(snapshot.hasData){
snapshot.data;
}else{
"-"
}
},
),
),
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With