【发布时间】:2021-08-28 16:01:47
【问题描述】:
class Messages extends StatelessWidget {
@override
Widget build(BuildContext context) {
return FutureBuilder(
future: FirebaseAuth.instance.currentUser,// here is the error " The argument type 'User' can't be assigned to the parameter type 'Future<dynamic>'.dart(argument_type_not_assignable)"
builder: (ctx, futureSnapshot) { 如果(futureSnapshot.connectionState == ConnectionState.waiting){ 退货中心( 孩子:CircularProgressIndicator(), ); }
return StreamBuilder(
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 ListView.builder(
reverse: true,
itemCount: chatSnapshot.data.docs.length,
itemBuilder: (ctx, index) => MessageBubble(
chatDocs[index]['text'],
chatDocs[index]['userId'] == futureSnapshot.data.uid,
key: ValueKey(chatDocs[index].documentID),
),
);
});
},
);
}
}
【问题讨论】:
-
添加错误信息。
-
FirebaseAuth.instance.currentUser不是未来,它将当前经过身份验证的用户作为User类的实例或 null 返回。 -
请修剪您的代码,以便更容易找到您的问题。请按照以下指南创建minimal reproducible example。