所以我一直在研究这个项目,一切都很好,直到我将包迁移到空安全并遇到了这个错误。代码如下:
factory AdminDto.fromJson(Map<String, dynamic> json) => _$AdminDtoFromJson(json);
factory AdminDto.fromFirestore(DocumentSnapshot doc) {
return AdminDto.fromJson(doc.data()!).copyWith(id: doc.id);
}
}
有人可以帮我解决这个问题吗?当涉及到 doc.data() 参数时会出现问题。我无法完全投入进去。
答案 0 :(得分:0)
您可能需要将 doc.data()!
显式转换为 Map<String, dynamic>
。像这样:
return AdminDto.fromJson(doc.data()! as Map<String, dynamic>).copyWith(id: doc.id);
或者正确定义DocumentSnapshot
的泛型类型,如下所示:
factory AdminDto.fromFirestore(DocumentSnapshot<Map<String, dynamic>> doc) {
return AdminDto.fromJson(doc.data()!).copyWith(id: doc.id);
}