flutter - 如何在颤动的不同屏幕之间导航而不重新加载已经加载到屏幕中的数据?
问题描述
我正在制作一个颤振应用程序,它从服务器下载不同屏幕上显示的数据,我仅在用户打开该屏幕时下载每个屏幕的数据,这意味着我不会将数据保存在用户设备上的任何位置。当我使用 navigator.push 从一个屏幕导航到另一个屏幕时,需要一些时间来加载,这是正常的,因为它会从 Internet 加载数据,但是当我使用 navigator.pop 返回上一个屏幕时,这需要加载时间,就像导航器。推,这意味着它再次从互联网重新加载前一个屏幕的数据,这使得屏幕之间的导航,不是最流畅的。
当我从服务器加载数据时,是否有更好的方法可以在屏幕之间顺畅导航?
谢谢你。
解决方案
实际上,颤振是如何工作的,无论您推送到屏幕还是弹出到屏幕,它都会重新运行构建方法。您需要做的是放置一个 if 语句,以便当您的数据被下载并且不是 null 时,您不应该运行您编写的下载方法,它只会以其先前的状态构建。
推荐阅读
- python - Python:将值列表拆分为两个值列表。列表的总和应尽可能相等
- java - 从不同线程问题访问的领域数据库对象(仅在某些设备上)
- python - 使用切片和无的张量形状修改
- sql-server - 当 IDENTITY_INSERT 设置为 OFF 时,无法为表中的标识列插入显式值。”
- python - 根据系列或数组中的索引访问熊猫字符串列字符
- git - 为什么拉的时候要一直做`--set-upstream-to`?
- markdown - Reveal-md和reveal.js的区别+外部markdown
- android - Android DatePickerDialog Max Date 视觉错误
- r - 从稀疏矩阵到数据框
- java - 如何转换 Hashmap
到 JSONPObject