Я надеюсь, что кто-то может объяснить, почему существует другое поведение при явном вызове Firestore.instance.collection ('data'). Snapshots () против вызова метода, содержащего Firestore .instance.collection ('data'). snapshots () и возвращает поток.
Вызов метода, который содержит Firestore.instance.collection ('data'). Snapshots () захватывает моментальный снимок данных только после внесения изменений в данные пожарного хранилища.
class GlobalAppModel extends Model{
......//other global data elements
Stream getDataStreamSnapshots(){
Firestore.instance.collection('data').snapshots();
}
}
class DataDetailWidget2 extends StatelessWidget {
@override
Widget build(BuildContext context) {
dataStream = AppModel.of(context);
....
body: Container(
child: StreamBuilder(
stream: Firestore.instance.collection('data').snapshots(), //This works great.
//stream: dataStream.getDataStreamSnapshots(), //This does not grab a snapshot until firestore is updated.
builder: (context, snapshot) {
.....
}
....
}
}