Flutter Flatter Streambuilder正在复制项目

Flutter Flatter Streambuilder正在复制项目,flutter,google-cloud-firestore,stream-builder,Flutter,Google Cloud Firestore,Stream Builder,我有一个StreamBuilder连接到一个列表,该列表从Firebase获取其数据,但在我的数据库中每发生一个事件,StreamBuilder中的项目就会被复制 以下是我的StreamBuilder代码: StreamBuilder( stream: masterListStart().asStream(), builder: (context, snapshot) { //retu

我有一个StreamBuilder连接到一个列表,该列表从Firebase获取其数据,但在我的数据库中每发生一个事件,StreamBuilder中的项目就会被复制

以下是我的StreamBuilder代码:

StreamBuilder(
                  stream: masterListStart().asStream(),
                  builder: (context, snapshot) {
                    //return coursesList.length == 0
                    return finishedLoadingList
                        ? ListView.builder(
                            scrollDirection: Axis.horizontal,
                            shrinkWrap: true,
                            itemCount: storysList.length,
                            itemBuilder: (context, index) {
                              //
                              StoryItems data = storysList[index];
                              //
                              return StoryItems(
                                data: data,
                              );
                            },
                          )
                        : CircularProgressIndicator();
                  },
                ),

如何防止StreamBuilder执行此操作?

不使用
finishedLoadingList
,只需检查快照连接状态,如下所示

StreamBuilder(
  stream: masterListStart().asStream(),
  builder: (context, snapshot) {
    //return coursesList.length == 0
    return (ConnectionState.done == snapshot.connectionState) ? ListView.builder(
      scrollDirection: Axis.horizontal,
      shrinkWrap: true,
      itemCount: storysList.length,
      itemBuilder: (context, index) {
        //
        StoryItems data = storysList[index];
        //
        return StoryItems(
          data: data,
        );
      },
    ) : CircularProgressIndicator();
  },
),

Where
finishedLoadingList
变量?检索完成后,它处于我的设置状态。数据会显示出来,但当数据库发生变化时,数据会自动复制西尔,你是最好的,非常感谢,它工作得非常好。感谢你的帮助!很高兴编写代码谢谢先生,您好,我再次启动了代码,但问题再次发生。我尝试重新生成所有内容并卸载应用程序。检查了代码等。但看起来问题再次发生。还有其他解决方案吗?谢谢。顺便说一句,很抱歉再次请你帮我,然后我自己解决了,这并不意味着浪费你的时间。