есть ли способ помочь мне исправить тип null не является подтипом типа Map<string, dynamic>?
Я работаю над флаттером уже несколько месяцев, и 9X_dart мне нужно понять, как исправить проблемы 9X_dart с нулевой безопасностью, но это действительно 9X_dart сложно для меня, и я хотел бы получить помощь.
Вот 9X_dart-null-safety моя проблема:
Всякий раз, когда я пытаюсь 9X_flutter войти в систему, я получаю эту ошибку: тип 9X_flutter «Null» не является подтипом типа Map
import 'package:cloud_firestore/cloud_firestore.dart';
class User {
final String email;
final String uid;
final String photoUrl;
final String username;
final String bio;
final List followers;
final List following;
const User({
required this.email,
required this.uid,
required this.photoUrl,
required this.username,
required this.bio,
required this.followers,
required this.following,
});
тогда 9X_singlechildscrollview я продолжил здесь
Map toJson() => {
"username": username,
"uid": uid,
"email": email,
"photoUrl": photoUrl,
"bio": bio,
"followers": followers,
"following": following,
};
static User fromSnap(DocumentSnapshot snap) {
var snapshot = snap.data() as Map;
return User(
username: snapshot['username'],
uid: snapshot['uid'],
email: snapshot['email'],
photoUrl: snapshot['photoUrl'],
bio: snapshot['bio'],
followers: snapshot['followers'],
following: snapshot['following'],
);
}
}
теперь я получаю сообщение 9X_flutter-sdk об ошибке в этой строке: нулевой тип не 9X_dart является подтипом Map
var snapshot = snap.data() as Map;
это 9X_flutter-sdk все моя проблема, заранее спасибо.
Ответ #1
Ответ на вопрос: есть ли способ помочь мне исправить тип null не является подтипом типа Map<string, dynamic>?
Ваше значение snapshot
равно nullable
, и вы пытаетесь преобразовать 9X_dart его в map
вместо этого:
var snapshot = snap.data() as Map;
попробуйте это:
var snapshot = snap.data() != null ? snap.data() as Map : {};
Также 9X_dart-null-safety измените свой возврат на это:
return User(
username: snapshot['username']??””,
uid: snapshot['uid'] ??””,
email: snapshot['email'] ??””,
photoUrl: snapshot['photoUrl'] ??””,
bio: snapshot['bio'] ??””,
followers: snapshot['followers'] ??[],
following: snapshot['following'] ??[],
);
-
12
-
11
-
7
-
7
-
13
-
2
-
3
-
3
-
5
-
1
-
4
-
1
-
2
-
3
-
2
-
4
-
2
-
2
-
1
-
4
-
2
-
3
-
2
-
2
-
3
-
3
-
2
-
2
-
3
-
2
-
6
-
3
-
2
-
1
-
7
-
5
-
8
-
13
-
26
-
11
-
2
-
4
-
17
-
6
-
4
-
3
-
7
-
5
-
5
-
2