我正在關注一個教程,我需要在 futurebuilder 中使用 FirebaseAuth.instance.currentUser() 。這個回傳 Future 的函式不再存在。是否有任何替代品可以回傳我可以在futurebuilder中使用的Future?
類 Messages 擴展 StatelessWidget { const Messages({Key?key}) : super(key: key);
@覆寫
Widget build(BuildContext context) {
return StreamBuilder<QuerySnapshot>(
stream: FirebaseFirestore.instance
.collection('chat')
.orderBy('createdAt', descending: true)
.snapshots(),
builder: (ctx, chatSnapshot) {
if (chatSnapshot.connectionState == ConnectionState.waiting) {
return Center(
child: CircularProgressIndicator(),
);
}
final chatDocs = chatSnapshot.data!.docs;
return FutureBuilder(
future: FirebaseAuth.instance.currentUser(), // <-<-<- THE ERROR
builder: (ctx, futureSnapshot) {
if (futureSnapshot.connectionState == ConnectionState.waiting) {
return Center(child: CircularProgressIndicator());
}
return ListView.builder(
reverse: true,
itemCount: chatDocs.length,
itemBuilder: (ctx, index) => MessageBubble(
chatDocs[index]['text'],
chatDocs[index]['userId'] == futureSnapshot.,
),
);
});
},
);
}
}
uj5u.com熱心網友回復:
您可以創建一個Future包含Future#value當前User實體的決議:
Future<User>.value(FirebaseAuth.instance.currentUser)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/489270.html
