該函式不能無條件呼叫,因為它可以為“null”。
在這部分出現錯誤auth.currentUser:
FirebaseAuth auth = FirebaseAuth.instance;
final User user = await auth.currentUser();
String uid = user.uid;
await FirebaseFirestore.instance
.collection('data')
.doc(uid)
.collection('data')
.doc();
uj5u.com熱心網友回復:
嘗試;
FirebaseAuth auth = FirebaseAuth.instance;
final User user = await auth.currentUser;
String uid = user!.uid;
await FirebaseFirestore.instance.collection('data').doc(uid).collection('data').doc();
uj5u.com熱心網友回復:
Userinstance 可以是null并且使用 null 斷言運算子 ( user!.uid) 進行顯式轉換不是一個好的做法,因為它可能會導致運行時例外。
因此試試這個:
FirebaseAuth auth = FirebaseAuth.instance;
final User? user = await auth.currentUser();
final String? uid = user?.uid;
if(user != null && uid != null) {
// We have already tested 'uid' nullability, so now it is safe to use 'uid!'.
await FirebaseFirestore.instance
.collection('data')
.doc(uid!)
.collection('data')
.doc();
} else {
throw Exception('current user is null.');
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/535038.html
標籤:扑镖飞镖空安全
上一篇:為什么我們在專案中使用Bloc?
