dart - Flutter阻止ListView重新呈现其子级

标签 dart flutter

我的ListView填充的列表项每个都包含从互联网获取数据的initState方法。因此,当我滚动浏览列表而看不到项目时,它们就会离开小部件树,而当我再次向上滚动至它们时,它们将重新渲染,并再次获取数据。

我不希望发生这种情况,因此在滚动时是否有任何方法可以缓存数据或不将其从渲染树中删除?

最佳答案

请查看此问题和答案。 how to build dynamic list from http server in flutter?

您应该做的是在第一次收到数据后就对其进行缓存。您还需要使用ListView.builder。该小部件具有itemBuilder方法。您应该定义自己的方法getItem(int index)。此方法将使用索引在缓存中查找数据,如果找不到该数据,它将发出http请求并将其保存在缓存中。

关于dart - Flutter阻止ListView重新呈现其子级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51438200/

相关文章:

Flutter:如何避免在现有路由上推送相同的路由

dart - 需要 1 个必需参数,但找到 0 个

dart - 如何格式化内插字符串

dart - flutter : Is it possible to create multiple elements in a expansion tile?

image - 在 CachedNetworkImage 中未指定图像 url 时应用程序崩溃

flutter - 如何使用标题调用http-get api?

dart - 为什么现在可以使用可调用类呢?

flutter - 将图像插入容器 Flutter 应用程序

flutter - 有没有办法在 flutter 中弹出和关闭这样的屏幕?

flutter - 为之前的 Flutter 项目关闭 Null Safety?