【发布时间】:2022-01-18 02:42:45
【问题描述】:
我知道这个问题与 dart null 安全性有关,但我无法解决这个问题,因为我收到了这个“Null check operator used on a null value Flutter”错误。请帮我解决这个问题
我的代码是:
class _ListStudentPageState extends State<ListStudentPage> {
final Stream<QuerySnapshot> studentStream =
FirebaseFirestore.instance.collection('students').snapshots();
@override
Widget build(BuildContext context) {
return StreamBuilder<QuerySnapshot>(
stream: studentStream,
builder:(BuildContext context , AsyncSnapshot<QuerySnapshot> snapshot){
if(snapshot.hasError)
{
print('something went wrong');
}
if(snapshot.connectionState == ConnectionState.waiting)
{
return const Center(
child: CircularProgressIndicator(),
);
}
final List storeDocs =[];
snapshot.data!.docs.map((DocumentSnapshot document){
Map a = document.data() as Map<String , dynamic>;
storeDocs.add((a));
a['id'] = document.id;
}).toList();
【问题讨论】:
-
检查调试器,
snapshot.data可能为空。 -
如果快照有错误,下一个 if 语句后面的代码仍将执行,因为您没有返回或抛出。也许
snapshot.hasError是真的,然后snapshot.data是空的,你得到了错误。
标签: android firebase flutter dart dart-null-safety