late final Stream<QuerySnapshot<Map<String, dynamic>>>? stream;
void initState() {
// TODO: implement initState
super.initState();
final eventProvider = Provider.of<EventProvider>(context, listen: false);
eventProvider.getRecentEntryStream();
stream = eventProvider.currentEventEntryStream;
}
Dart
복사
return StreamBuilder<QuerySnapshot>(
stream: Provider.of<EventProvider>(context).currentEventEntryStream,
builder: (context, snapshot) {
// ...
Dart
복사
StreamBuilder 에 Provider 의 Stream 인스턴스를 바로 꽂아주면 이런 현상이 발생한다.
late final Stream<QuerySnapshot<Map<String, dynamic>>>? stream;
Dart
복사
위 처럼 Stream 프로퍼티를 만들어서 딱 한번만 초기화되도록 해주자.
그렇지 않으면 ReBuild 될 때마다 Stream 을 초기화 시킬 것이다.
return StreamBuilder<QuerySnapshot>(
stream: stream,
builder: (context, snapshot) {
// ...
Dart
복사