【发布时间】:2021-09-28 18:26:48
【问题描述】:
我正在尝试向应用栏显示名称,但用户 ID 部分似乎给出了错误。我是颤振和 Firestore 的初学者,有人可以帮助我吗
class Profile extends StatefulWidget {
@override
_ProfileState createState() => _ProfileState();
}
class _ProfileState extends State<Profile> {
//To retrieve the Userid
User? user;
Future<void> getUserData() async {
User userData = await FirebaseAuth.instance.currentUser!;
setState(() {
user = userData;
print(userData.uid);
});
}
///////////////////////////////////////
Future<String>? _title;
@override
void initState() {
getUserData().then((value) => _title = _getAppBarNameWidget());
// _title = _getAppBarNameWidget();
super.initState();
}
//To retrieve the name from firestore
Future<String> _getAppBarNameWidget() async =>
await FirebaseFirestore.instance
.collection('customer')
.doc(user!.uid)
.get()
.then((DocumentSnapshot ds) async {
var name = ds['name'];
return name;
});
【问题讨论】:
-
你能显示你的错误信息吗
-
StateError(错误状态:无法获取 DocumentSnapshotPlatform 上不存在的字段)
-
你确定你输入了正确的键名
-
是的 .doc(user!.uid) 如果我给 .doc('Xk1eUAfdSMqp7rpwYxc4') 这样的直接 uid 它可以工作
-
inside setState when r print is it uid is print
标签: flutter google-cloud-firestore