我的屏幕上有一个AnimatedBackground,它不断像这样循环播放
Stack(
children: [
AnimatedContainer(
duration: Duration(seconds: 2),
onEnd: () {
setState(() {
//doing some animation repeatedly
});
},
),
StreamBuilder(
//keeping rebuild because of the above setState
),
],
),
由于setState()(问题),我现在很困,重建如此频繁
我想在此屏幕内使用StreamBuilder,因为信息在不断变化
如何不循环StreamBuilder?该如何实现?
答案 0 :(得分:0)
由于setState({})方法更新了您调用它的整个窗口小部件,因此您需要以某种方式分隔窗口小部件。这个想法是,您在其中调用setState方法的小部件应该在小部件的树中较低,而包含StreamBuilder的小部件应位于上方。结果,调用setState方法将不会触发带有StreamBuilder的窗口小部件重新运行。