flutter 如何在StreamBuilder中设置状态

vc9ivgsu  于 2023-01-06  发布在  Flutter
关注(0)|答案(1)|浏览(125)

我在一个有状态的小部件中有一个streamBuilder,它从服务器异步获取数据,此外,我还有一个收集这些数据的列表。

StreamBuilder(   
  stream: myStream.stream,   
  initialData: initData,   
  builder: (BuildContext context, AsyncSnapshot snapshot) {
        switch(snapshot.connectionState){
          case (Connection.active):
            setState(() { 
              data = data + snapshot.data;
            });
            break;
          default: 
            break;
        }   
      } 
)

如果我这样做,我得到setState() or markNeedBuild() was called during build
我该如何解决这个问题?

kqqjbcuj

kqqjbcuj1#

Flutter StreamBuilder不需要调用setState来重建它的孩子。StreamBuilder默认在流上检测到更改时重建。如果不需要在StreamBuilder中重建Widget,您可以考虑初始化流listener,并在流上检测到更改时追加新数据。

相关问题