I am listening to a collection of documents in firestore (as part of a chat app). I am doing this by using a service, which creates a Stream<QuerySnapshot>
as follows:
_snapshots$ = Firestore.instance.collection('messages').orderBy('date',descending: false).snapshots()
I then create a StreamBuilder as follows:
return StreamBuilder<List<Message>>(
stream: widget.chatService.messages$,
builder: (context, snapshot) => (snapshot.hasData)
...
I am wondering if I need to detach this stream in the dispose method containing the StreamBuilder
widget. I don't know much about Streams and StreamBuilders, so I'm not sure how to do this, but I really want to avoid any memory leaks.
final subscription = stream.listen(...);
and thensubscription.cancel();
. I use this approach inProvider
s and pass a future to the widgets (instead of a stream). So the provider controls the rebuilds based on other conditions. – Bathelda