我有一个重功能循环X次。如果我将此流放在StreamBuilder中,则Stream会一次又一次地永远运行,但是我只需要使其运行一次(执行X循环)并停止即可。
为解决将来的功能问题,我使用了AsyncMemoizer,但不能将其用于流功能。
我该怎么办?
答案 0 :(得分:0)
如果可以确定,则不要重建窗口小部件,而应像下面的代码那样尝试。 _widget 将在initState中创建一次,然后将在build方法中返回“已缓存”小部件。
{{1}}
答案 1 :(得分:0)
正如RémiRousselet所建议的那样,应在状态良好管理的小部件树中使用StreamBuilder。我在Stream中调用setState((){})
,这导致UI每次都更新,从而使StreamBuilder重建,因此重新启动流。