2

我有一个 ListView,我正在使用 ListView.builder 在孩子们可见时懒惰地填充列表。

但是,这些项目还需要呈现我想要延迟获取的其他内容。

为此,我在 child-builder 中构建了一个 http-get-future 并将其传递给 FutureBuilder ,它会在 Future 完成后立即呈现附加内容。

但是,即使我缓存了 http-get-futures,整个列表也会感觉有问题,因为当它们再次可见时会重新构建这些项目,并且 FutureBuilder 总是呈现一个没有任何数据的等待帧(“因为没有办法同步检查如果 Future 已经完成”——正如 Flutter 文档所说)。

我应该改变什么?

4

1 回答 1

0

我找到了一个解决方案:

我没有直接在 FutureBuilder 中使用 Future,而是将 ValueNotifier 放在了 Future 的 then 函数中设置的缓存中,并用 ListenableBuilder 替换了 FutureBuilder。

ListenableBuilder 没有空框架的问题...

于 2019-05-24T17:56:44.370 回答