मैं Firebase बादल Firestore से संदेश प्राप्त करने में समस्या आ रही है। प्रदर्शित की जा रही त्रुटि है: 'Error: The getter 'docs' isn't defined for the class 'Object' - 'Object' is from 'dart:core'.'

नीचे मेरा कोड है:

class ChatScreen extends StatelessWidget {
    @override
    Widget build(BuildContext context) {
        return Scaffold(
          body: StreamBuilder<Object>(
              stream: FirebaseFirestore.instance
                  .collection('chats/EKLJIb8ZfRoDTqxkkJaB/messages')
                  .snapshots(),
              builder: (context, chatSnapshot) {
                return ListView.builder(
                  itemCount: chatSnapshot.data.**docs**.length,
                  itemBuilder: (ctx, index) => Container(
                    padding: EdgeInsets.all(8),
                    child: Text('this work'),
                  ),
                );
              }),
          floatingActionButton: FloatingActionButton(
            child: Icon(Icons.add),
            onPressed: null,
          ),
      );
   }
}
1
Mba Gozpel 21 अप्रैल 2021, 10:11

2 जवाब

सबसे बढ़िया उत्तर

इसे बदलें:

body: StreamBuilder<Object>(

इस मामले में:

body: StreamBuilder<QuerySnapshot>(

docs वर्ग QuerySnapshot के अंतर्गत एक संपत्ति है न कि वर्ग Object के अंतर्गत

4
Peter Haddad 21 अप्रैल 2021, 11:18

मैंने स्ट्रीमबिल्डर के बाद डेटाटाइप को गतिशील के रूप में जोड़कर हल किया है, मेरे मामले में जवाब "पीटर हद्दाद" मेरे लिए काम नहीं करता था, मेरे पास एक ही त्रुटि थी।

इस तरह मैंने इसे हल किया:

StreamBuilder<dynamic>(....Your Code here....)
0
Anas Alhariri 15 जुलाई 2021, 04:05