例如,如果API响应中的值为空,我想处理该值
"data": {
"email": null,
"username": "Janet",
},
字符串
从这个响应我想把它添加到我的用户模型
class UserModel {
final String email;
final String username;
UserModel({required this.email, required this.username});
}
型
但是如果email值为null怎么办?我是否应该用这个逻辑呢?
UserModel(email: data['email'] ?? '',
username: data['username'] ?? '',
),
型
如果我让模型像这样可以为空呢
class UserModel {
String? email;
String? username;
UserModel({this.email, this.username});
}
型
最好的办法是什么?我很困惑,如果我应该使用nullable模型或必需的模型,并处理如果值为空。我想要最好的方法
1条答案
按热度按时间gc0ot86w1#
我想说,这取决于你的需求。但是无论是否是
nullable
,尝试用final
定义变量,使类成为immutable
字符串
我会使用这种方法。因为当我们想在UI上使用它时,它非常有用。正如我们所知,有些小部件需要
non-null
值。例如型
但是在这种情况下,当我们设置
email=null
时,它将被设置为空字符串。例如。如果你想使用toJson()
方法,它会将空字符串设置为email
和username
。参见案例2 =>null
作为值。在某些情况下,在
backend
中使用null
检查器来进行某些逻辑。这就是为什么在Dart模型中,我们必须使用
nullable
值。所以我们可以将null
值发送到服务器。型
现在我们可以设置
email =null
。但是在另一方面,当我们使用它来
non-null
widget属性时,我们需要设置默认值。型