# #flutter #dart #google-cloud-firestore
Вопрос:
У меня есть приведенный ниже код для получения данных из firestore.
return ListView(
shrinkWrap: true,
children: snapshot.data!.docs.map((doc) {
print(doc.data());
return Card(
child: ListTile(
title: Text(doc.data()["description"]),
),
);
}).toList(),
);
Но я получил ошибку ниже:
Ошибка: Оператор «[] «не определен для класса» Объект?».
- «Объект» происходит от «dart:ядро». Попробуйте исправить оператор на существующий оператор или определить оператор» []». название: Текст(док.данные()[«описание»]),
Любая помощь будет признательна.
Ответ №1:
data()
Функция теперь возвращает Object?
, что означает, что вы должны привести ее к Map<String, dynamic>
моменту сейчас.
return ListView(
shrinkWrap: true,
children: snapshot.data!.docs.map((doc) {
final data = doc.data()! as Map<String, dynamic>;
print(data);
return Card(
child: ListTile(
title: Text(data["description"]),
),
);
}).toList(),
);
Ответ №2:
return ListView(
shrinkWrap: true,
children: snapshot.data!.docs.map((doc) {
Map allData = doc.data();
// print(doc.data());
return Card(
child: ListTile(
title: Text(allData["description"]),
),
);
}).toList(),
);