防止在streambuilder混乱中构建子窗口小部件

时间:2020-05-25 06:41:49

标签: flutter stream-builder

我有一个使用streambuilder的父窗口小部件,而streambuilder仅用于对子窗口小部件重新排序。 初始加载后,子小部件中的数据不会更改,并且不依赖于streambuilder数据。

问题是,如果父小部件中的数据更改了,则所有子小部件都将重新构建。有什么方法可以防止儿童重建。

 StreamBuilder(
              stream: Firestore.instance
                  .collection('users_meta')
                  .snapshots(),
         builder: (ctx, userSnapshop) {
                if (userSnapshop.connectionState == ConnectionState.waiting) {
                  return Center(
                    child: CircularProgressIndicator(),
                  );
                }

                final chatroomData = userSnapshop.data.documents;
                if (chatroomData.length > 0)
                  return ListView.builder(
                    reverse: false,
                    itemBuilder: (ctx, index) {
                      String peer = '';
                      String uid = '';


                      int _unreadCount = 0;
                      var _groupChatId = '';
                      _unreadCount = 0;
                      return ChildWidget(
                        index,
                        _isEdit,
                        uid,
                        peer,
                        _groupChatId,
                      );
                    },
                    itemCount: userSnapshop.data.documents.length,
                  );
              });

0 个答案:

没有答案