Flutter 在另一个页面上获取用户 ID 并将其转换为字符串(“类型'Future<dynamic>'不是类型'String'的子类型”)
Posted
技术标签:
【中文标题】Flutter 在另一个页面上获取用户 ID 并将其转换为字符串(“类型\'Future<dynamic>\'不是类型\'String\'的子类型”)【英文标题】:Flutter get user Id on another page and convert it in a String ("type 'Future<dynamic>' is not a subtype of type 'String'")Flutter 在另一个页面上获取用户 ID 并将其转换为字符串(“类型'Future<dynamic>'不是类型'String'的子类型”) 【发布时间】:2020-05-18 21:14:48 【问题描述】:我需要从我的个人资料页面上的当前登录用户那里获取用户 ID。我遵循了 Youtube 上的网络忍者教程。这是我目前的方式
final FirebaseAuth _auth = FirebaseAuth.instance;
getCurrentUser() async
final FirebaseUser user = await _auth.currentUser();
final uid = user.uid;
// Similarly we can get email as well
//final uemail = user.email;
print(uid);
//print(uemail);
但是如果我在我的 Scaffold 中调用它,我会得到这个输出
类型“未来”不是类型“字符串”的子类型
还有 Uid。如何将其转换为字符串?还是有更优雅的方式?
谢谢!
【问题讨论】:
【参考方案1】:您可以尝试将其放入 FutureBuilder
FutureBuilder<String>(
future: () async
FirebaseAuth auth = FirebaseAuth.instance;
FirebaseUser user = await auth.currentUser();
String uid = user.uid.toString();
return uid;
(),
builder: (context, snapshot)
if (snapshot.hasData)
return Text(snapshot.data); // <- Customize your widget here
else
return CircularProgressIndicator();
,
)
【讨论】:
以上是关于Flutter 在另一个页面上获取用户 ID 并将其转换为字符串(“类型'Future<dynamic>'不是类型'String'的子类型”)的主要内容,如果未能解决你的问题,请参考以下文章
使用 html 链接检索 JSON 对象并在另一个 html 页面上显示 json 数据