В настоящее время я использую Cloud Firestore с виджетом Streambuilder, чтобы заполнить виджет ListView документами Firestore.
new StreamBuilder<QuerySnapshot>(
stream: Firestore.instance.collection('videos').limit(10).snapshots(),
builder: (BuildContext context, AsyncSnapshot<QuerySnapshot> snapshot) {
if (!snapshot.hasData) return new Center(
child: new CircularProgressIndicator(),
);
return new ListView(
children: snapshot.data.documents.map((DocumentSnapshot document) {
new Card(child: ...)
}).toList(),
);
},
);
Эта настройка, однако, позволяет запрашивать только первые x результатов (в данном случаеx = 10), где x - фиксированное число, которое рано или поздно будет превышено числом виджетов карты, которое пользователь хочет видеть при прокрутке вниз.
Теперь можно ли будет запрашивать первые x результатов, и после того, как пользователь достигнет порога прокрутки, чтобы запросить следующие x + 10 результатов из Cloud Firestore и т. Д.?Это позволило бы иметь динамическую длину списка, что также помогло бы потреблению данных Firestore.