Flutter - Streambuilder подключен к снимкам из пожарного магазина, которые обновляются слишком часто - PullRequest
0 голосов
/ 24 марта 2020

У меня есть StreamBuilder, который напрямую слушает collection.snapshots из Firestore. Одна из проблем, с которыми я сталкиваюсь при таком подходе, состоит в том, что пользовательский интерфейс обновляется слишком много раз, почти раз в 1-2 секунды. Даже когда нет изменений в данных. Я мог бы заставить поток обновлять свойство в Stateful Widget, но не StreamBuilder для этого случая использования. Как правильно это сделать?

Редактировать 1:

это метод, который возвращает поток

static Stream<QuerySnapshot> getCurrentSnapshot(String uid) {
    return collection
        .where("driverId", isEqualTo: uid)
        .where("status", isEqualTo: 1)
        .snapshots();
  }

1 Ответ

0 голосов
/ 24 марта 2020

Я исправил проблему, применив шаблон Blo c, используя пакет rxdart. Вместо непосредственного прослушивания потоков, я слушал BehaviorSubject.stream из rxdart.

...