【发布时间】:2021-05-11 04:35:25
【问题描述】:
我正在努力解决以下问题:
我使用 StreamBuilder 构建了一个小部件列表(并使其可搜索)。小部件是卡片,用户可以在其中做出选择,然后按下按钮。 一切都(曾经)工作得很好。
然后我想添加一个小动画,并使与按钮关联的图标成为动画图标。 现在一团糟,StreamBuilder 处于无限循环中,而且我的清单上也有一些问题。如果我注释掉动画图标并再次放入以前的图标...一切都开始正常工作了。
...
child: FloatingActionButton(
onPressed: (){
addFood();
mealListState.getAcontroller(id).forward();
},
child:
// MyAddIcon(id), //--> my animated Icon. It does not work
Icon(Icons.add), //--> it works
....
我读到问题在于在流中添加状态管理 (Unnecessary Widget Rebuilds While Using Selector (Provider) inside StreamBuilder) 会使事情变得混乱,并且您必须使构建流的小部件有状态并在 initState 中设置流。 我尝试按照这种方式进行操作,但我需要上下文来构建我的卡列表,所以我可以按照上面的提示从 db (firestore) 中读取数据......这还不够
有人能给我指出正确的方向吗,或者我必须放弃这个想法并继续前进?
谢谢
【问题讨论】: