#flutter #dart #snapshot
Вопрос:
Я пытался создать приложение для выполнения задач, в котором я использовал снимок, но я получаю ошибку для documents.it говорит, что к свойству «документы» нельзя получить безусловный доступ, потому что получатель может быть «нулевым»
код :
body: Container(
padding: EdgeInsets.all(10),
height: MediaQuery.of(context).size.height,
width: MediaQuery.of(context).size.width,
child: StreamBuilder(
stream: Firestore.instance
.collection('tasks')
.document(uid)
.collection('mytasks')
.snapshots(),
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.waiting) {
return Center(
child: CircularProgressIndicator(),
);
} else {
final docs = snapshot.data.documents; //facing error
Я также попробовал final docs = snapshot.data?.документы;
это дает ошибку-документ-получатель не определен для типа «объект».
Ответ №1:
Я думаю, что вы используете плагин firebase после 1.0.0, поэтому обновленный код
final docs = snapshot.data!.docs;
Ответ №2:
просто добавьте «!» и укажите тип моментального снимка в параметрах конструктора:-
builder: (context,AsyncSnapshot<QuerySnapshot> snapshot) {
if (snapshot.connectionState == ConnectionState.waiting) {
return Center(
child: CircularProgressIndicator(),
);
} else {
final docs = snapshot.data!.docs;
Комментарии:
1. я сделал это, но это показывает ошибку
2. документ-получатель не определен для типа «объект».
3. проверьте обновленный код