我有一个使用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,
);
});