Я использую Flutter и создал «класс утилит» (abstract
) для Firebase, что-то вроде этого:
abstract class FirebaseUtil {
static final Firestore _firebaseRef = Firestore.instance;
static Firestore fbRef() => _firebaseRef;
static CollectionReference chatsRef() => _firebaseRef.collection('chats');
}
После входа в систему приложение синхронизирует документы чатов ...
var snapshots = await FirebaseUtil.chatsRef().getDocuments();
... и сохраняет в базе данных SQLite.При нажатии на чат я использую этот метод chatsRef
и загружаю снимок из Firebase в StreamBuilder
:
FirebaseUtil.chatsRef().where('userId', isEqualTo: user.Id).orderBy('lastMessage').snapshots();
Но когда я обновляю какой-либо документ чата, снимок не отражается насписок, если я не синхронизирую документы чатов снова.
Мой вопрос: Что нарушает обновление снимка?A static final Firestore
ссылка?Метод синхронизации, с .getDocuments()
?Ни один из вариантов?