【问题标题】:Getting Current user details获取当前用户详细信息
【发布时间】:2021-06-11 15:02:00
【问题描述】:

所以一开始我尝试从 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

  String userProfile = GetCurrentUser().toString();

【问题讨论】:

    标签: firebase flutter firebase-authentication


    【解决方案1】:

    找到了解决办法!

    使用此线程答案的代码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;
    });
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-10-30
      • 2020-09-01
      • 2019-08-14
      • 1970-01-01
      • 2017-10-06
      • 2020-05-06
      • 1970-01-01
      相关资源
      最近更新 更多