我看到這個例子,試圖在Flutter中從Firestore Firebase獲取用戶的詳細資訊。不幸的是,它給了我一個錯誤實體成員'snap'不能在初始化器中被訪問。
DocumentSnapshot snap = FirebaseFirestore.instance.collection('Users')。 doc().get() as DocumentSnapshot<Object?> 。
String myId = snap['name']。
uj5u.com熱心網友回復:
你可以使用async和await
String myId = ''/span>;
@override
void initState() {
super.initState()。
初始化()。
}
void initialize() async{
DocumentSnapshot snap = await FirebaseFirestore.instance.collection('Users'/span>)。 doc().get() as DocumentSnapshot<Object?> 。
myId = snap['name']。
}
uj5u.com熱心網友回復:
是的,你不能在這里使用snap,因為你還沒有初始化物件。
相反,把用法移到 initState 中。就像這樣:
class _MyHomePageState extends State< MyHomePage> {
DocumentSnapshot snap = await FirebaseFirestore.instance
.collection('Users')
.doc()
.get() as DocumentSnapshot<Object?> 。
String myId;
@override
void initState() {
super.initState()。
myId = snap['name']。
//應該是 myId = snap.get('name');。
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/325780.html
標籤:
上一篇:Firebase沒有創建新用戶
下一篇:2個組件上的多個資料源
