firebase - 我在尝试创建个人资料时无法显示姓名,为什么?
问题描述
我遵循了一些教程,并成功在 firestore 上添加了用户,但是当当前用户正在登录时,我无法在个人资料页面上打印此用户,因为我的前端也有错误。
这是我的整个前端,出现此错误:
无法无条件调用方法“[]”,因为接收者可以为“null”。尝试使调用有条件(使用'?.')或向目标添加空检查('!')。”
我试过了 ?和 !但没有成功。
希望你能帮助我!
FutureBuilder(
future: FirebaseFirestore.instance
.collection('users')
.doc('uid')
.get(),
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.done) {
return Text(snapshot.data['displayName'],
);
} else {
return Text("Loading...");
和我的后端(如果需要)
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:firebase_auth/firebase_auth.dart';
Future userSetup(String displayName) async {
CollectionReference users = FirebaseFirestore.instance.collection('Users');
FirebaseAuth auth = FirebaseAuth.instance;
String uid = auth.currentUser!.uid.toString();
await users.doc(uid).set({'displayName': displayName, 'uid': uid });
final result = await users.doc(uid).get();
final data = result.data() as Map<String, dynamic>;
return data['displayName'];
}
解决方案
推荐阅读
- sql - SELECT语句为每条记录复制分数?
- javascript - Expo错误-崩溃后,Android后退按钮导致独立应用程序进入后台
- excel - 为什么空的excel文件是5.5mb大?
- python - python初学者语法语句if-elif
- c# - 错误 VSSDK1001:找不到 Microsoft.VisualStudio.CommandTable.VSCTCompiler 类型
- c++ - 我应该在用户定义的文字中抛出什么异常?
- nativescript - RadListView 是否还存在(Nativescript pro-ui)
- jenkins - 如何使用 groovy 在 Jenkins 中发送最重要的通知?
- postgresql - 连接到 Postgres 数据库的 Docker 容器
- reactjs - React Native - 如何设置环境变量 REACT_DEBUGGER?