Допустим, вы хотите создать Text
с параметром name из вашего документа
Widget build(BuildContext context) {
return new StreamBuilder(
stream: Firestore.instance.collection('users').document(userId).snapshots(),
builder: (context, snapshot) {
if (!snapshot.hasData) {
return new Text("Loading");
}
var userDocument = snapshot.data;
return new Text(userDocument["name"]);
}
);
}
Это всего лишь один экземпляр.Создание StreamBuilder в документе будет перестраиваться каждый раз при изменении самого документа.Вы можете попробовать этот код, а затем перейти к вашей консоли и изменить значение «имя».Ваше приложение будет автоматически отражать изменения.
Вместо одного Text
, вы можете построить целое дерево, которое использует данные из вашего потока.
Если вы хотите получить в данный момент значениедокумента, вы можете сделать это, разрешив метод Future
из get()
в ссылке на документ.
var document = await Firestore.instance.collection('users').document(userId).get(),