首页 > 解决方案 > 如何在颤动的不同屏幕之间导航而不重新加载已经加载到屏幕中的数据?

问题描述

我正在制作一个颤振应用程序,它从服务器下载不同屏幕上显示的数据,我仅在用户打开该屏幕时下载每个屏幕的数据,这意味着我不会将数据保存在用户设备上的任何位置。当我使用 navigator.push 从一个屏幕导航到另一个屏幕时,需要一些时间来加载,这是正常的,因为它会从 Internet 加载数据,但是当我使用 navigator.pop 返回上一个屏幕时,这需要加载时间,就像导航器。推,这意味着它再次从互联网重新加载前一个屏幕的数据,这使得屏幕之间的导航,不是最流畅的。

当我从服务器加载数据时,是否有更好的方法可以在屏幕之间顺畅导航?

谢谢你。

标签: flutterflutter-navigation

解决方案


实际上,颤振是如何工作的,无论您推送到屏幕还是弹出到屏幕,它都会重新运行构建方法。您需要做的是放置一个 if 语句,以便当您的数据被下载并且不是 null 时,您不应该运行您编写的下载方法,它只会以其先前的状态构建。


推荐阅读