Flutter Web:StreamBuilder 浏览器调整大小和重建
Posted
技术标签:
【中文标题】Flutter Web:StreamBuilder 浏览器调整大小和重建【英文标题】:Flutter Web: StreamBuilder browser resize & rebuild 【发布时间】:2021-07-21 00:14:00 【问题描述】:我有一个带有流构建器列表视图的简单主页。我知道颤振会根据设计需要重建/重绘,但这是否意味着 StreamBuilder 将在每次重建时一遍又一遍地获取相同的数据?
我问的原因是每次浏览器调整大小或浏览器从屏幕 1 移动到屏幕 2 时,我都会获得完整的数据重建/刷新(或者从我的控制台日志中看来)。对于具有更大数据集的大型项目,这似乎非常低效/不必要。
我是否应该尝试阻止 streamBuilder 在调整浏览器大小时获得相同的数据?谢谢。
【问题讨论】:
【参考方案1】:首先,导入这个。
import 'package:async/async.dart';
现在,声明 AsyncMemoizer。
final AsyncMemoizer memoizer = AsyncMemoizer();
在流参数中与 StreamBuilder 小部件一起使用。
stream: memoizer.runOnce(() => YOUR STREAM DATA),
【讨论】:
感谢您的帮助,但这给了我“无法将参数类型 'Future以上是关于Flutter Web:StreamBuilder 浏览器调整大小和重建的主要内容,如果未能解决你的问题,请参考以下文章
FirebaseStorage + Flutter,streamBuilder?