每当我初始化时,FirebaseAuth 总是会抛出错误
final uid = FirebaseAuth.instance.currentUser!.uid;
。
错误是
Null check operator used on a null value
。
所以我必须在下面的函数中使用它才能工作。
FirebaseFirestore.instance.collection("collectionPath") .doc(FirebaseAuth.instance.currentUser!.uid).snapshots();
我不想每次都写那么长的代码。 我可以做什么来解决这个问题?
在代码行中
FirebaseAuth.instance.currentUser!.uid;
您正在使用!运算符告诉代码 uid 永远不会为空。 在您的情况下, currentUser 似乎为空,因为身份验证不成功。所以你需要这样检查
if(FirebaseAuth.instance.currentUser != null){
FirebaseAuth.instance.currentUser!.uid;
}
或
FirebaseAuth.instance.currentUser?.uid ?? '' // if uid is String
要了解有关 Null Safety 的更多信息,最好查看 Dart 文档