Вы можете создать собственный конструктор объекта для использования данных из моментального снимка документа.
class ProjectItem {
String id;
String title;
String members;
String complexity;
String affordability;
String duration;
String docid;
ProjectItem({....});
factory ProjectItem.fromFirestore(DocumentSnapshot doc) {
return ProjectItem(
id: doc.data['id'],
title: doc.data['title'],
members: doc.data['members'],
complexity: doc.data['complexity'],
affordability: doc.data['affordability'],
duration: doc.data['duration'],
docid: doc.documentID,
);
}
}
А затем просто используйте этот конструктор внутри представления списка, чтобы создать объект
return ProjectItem.fromFirestore(
snapshot.data.documents[index]
);