Firebase 如何处理Firestore在Map中返回空值
我正在使用颤振/飞镖制作一个应用程序,遇到了一个恼人的问题 当我想向一个对象添加另一个变量时,比如本例中的FoodItem对象,我需要将快照数据解析到dart对象中,map Firestore返回的数据通常不包含新值,并最终告诉新对象只将新变量设为null 这会导致整个应用程序出现问题。我应该如何在不对每个被解析的元素进行空检查的情况下实现这一点?谢谢Firebase 如何处理Firestore在Map中返回空值,firebase,flutter,dart,google-cloud-firestore,Firebase,Flutter,Dart,Google Cloud Firestore,我正在使用颤振/飞镖制作一个应用程序,遇到了一个恼人的问题 当我想向一个对象添加另一个变量时,比如本例中的FoodItem对象,我需要将快照数据解析到dart对象中,map Firestore返回的数据通常不包含新值,并最终告诉新对象只将新变量设为null 这会导致整个应用程序出现问题。我应该如何在不对每个被解析的元素进行空检查的情况下实现这一点?谢谢 class FoodItem with ChangeNotifier { String name; String barcode;
class FoodItem with ChangeNotifier {
String name;
String barcode;
String servingSize;
String calories;
String totalFat;
String satFat;
String transFat;
String cholesterol;
String sodium;
String totalCarbs;
String protein;
String fiber;
String sugar;
bool new_variable_that_ends_up_null = false;
...
FoodItem.fromSnapshotData(Map<String, dynamic> data)
: name = data['Name'],
calories = data['Calories'],
barcode = data['Barcode'],
servingSize = data['Serving Size'],
totalFat = data['Total Fat'],
satFat = data['Saturated Fat'],
transFat = data['Trans Fat'],
cholesterol = data['Cholesterol'],
sodium = data['Sodium'],
totalCarbs = data['Total Carbs'],
fiber = data['Fiber'],
sugar = data['Sugar'],
protein = data['Protein'],
new_variable_that_ends_up_null = data['New Variable']; // This will return null when it's not already in firstore.
}
试试这个:
new_variable_that_ends_up_null = data['New Variable'] ?? false
这里的问题是,你不能将null赋值给bool,这会给你带来错误你能粘贴你想要实际解析的数据对象吗?@YakubPasha Done