【发布时间】:2021-06-20 16:12:00
【问题描述】:
我正在使用 json_serializable 和 firestore。 json_serializable 创建一个以 MapThe argument type 'Map<String, dynamic>?' can't be assigned to the parameter type 'Map<String, dynamic>'
有人可以帮我解决这个问题吗?我不能再将 json_serializable 与 firestore 一起使用吗?
我写了这个例子:
class Entity {
const Entity({required this.id});
final String id;
factory Entity.fromJson(Map<String, dynamic> json) => _$EntityFromJson(json);
Map<String, dynamic> toJson() => _$EntityToJson(this);
}
class Repository {
Stream<List<Entity>> list() {
return FirebaseFirestore.instance.collection('entity').snapshots().map((event) {
return event.docs.map((e) {
return Entity.fromJson(
e.data() // The argument type 'Map<String, dynamic>?' can't be assigned to the parameter type 'Map<String, dynamic>'
);
}).toList();
});
}
}
【问题讨论】:
-
查询的结果可以为空,并且您正在尝试分配一个非空变量,您可以让您的变量接受空并稍后处理,或者在分配给之前检查结果是否为空对象。
标签: firebase flutter json-serializable