获取当前用户详细信息

时间:2021-03-13 23:10:58

标签: firebase flutter firebase-authentication

因此,一开始我尝试仅从 Firebase 获取用户的姓名并将其显示在主页上,但它仅显示小部件的名称。 我使用 google/facebook/anonymous/email 和密码登录方法。

Firebase 实例

Future getCurrentUser() async {
print('done');
return _auth.currentUser;
}

假设获取用户详细信息的小部件

class GetCurrentUser extends StatefulWidget {
@override
_GetCurrentUserState createState() => _GetCurrentUserState();
}

class _GetCurrentUserState extends State<GetCurrentUser> {

@override
Widget build(BuildContext context) {
return FutureBuilder(
  future: Provider.of(context).auth.getCurrentUser(),
  builder: (context, snapshot) {
    print('done');
    if (snapshot.connectionState == ConnectionState.done ) {
      return snapshot.data.displayName;
    } else {
      return Text('error');
    }
   },
  );
 }
}

以及存储用户名的字符串

  String userProfile = GetCurrentUser().toString();

1 个答案:

答案 0 :(得分:0)

找到了解决方案!

使用此线程的答案代码How to get the current user id from Firebase in Flutter

我使用了他制作的 void 函数并在小部件中使用它我也想更改用户名并为该字符串设置状态

final FirebaseAuth _ath = FirebaseAuth.instance;

void inputData() {
final User user = _ath.currentUser;
setState(() {
  userProfile = user.displayName;
});
}