繁体   English   中英

Null 检查运算符用于 null 值 Flutter

[英]Null check operator used on a null value Flutter

我知道这个问题与 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();

我会试试这个:

      final List storeDocs =[];
      if(snapshot.data=null){
      snapshot.data!.docs.map((DocumentSnapshot document){
        Map a = document.data() as Map<String , dynamic>;
        storeDocs.add((a));
        a['id'] = document.id;
      }).toList();
}

或者以更漂亮的方式

      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();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM