我有一个User类,然后有一个Firestore文档,该文档可能包含也可能不包含photoURL或某些其他值。问题是,当我尝试创建用户时,由于某些值为Null,因此会出现此异常。
我试图这样处理:
var photoURL = snapshot.data['photoURL'] ??= '';
但似乎不起作用。
有人可以解释在Dart / Flutter中分别处理Null值的最佳做法吗?
编辑:我正在检查snapshot.exists之前是否存在,并且如果我创建的用户省略了我知道为Null的值,则会正确创建它。
编辑2:我发现当我尝试像这样处理空列表时出现问题:
var favorites = snapshot.data['favorites'] ?? [''];
答案 0 :(得分:0)
当我将其转换为Json时,似乎错误地初始化了该值。
我这样处理空数组
Map<String, dynamic> toJson() => {
'favorites' : favorites ?? '',
}
应该在什么时候出现:
Map<String, dynamic> toJson() => {
'favorites' : favorites ?? [''],
}
所以当我尝试为String分配一个空数组时,它就抛出了。