【问题标题】:How can I wait until widget is built before pushing a route?在推送路线之前如何等到小部件构建完成?
【发布时间】:2019-04-21 23:00:40
【问题描述】:

这里有新的颤振开发者。在我的测试中,我注意到推送和弹出嵌入式平台视图会导致 Flutter 应用丢帧。有没有一种方法可以等到构建小部件后再推送路线?

例如,使用 Google Maps Flutter 小部件,有没有一种方法可以实例化它并异步构建它,然后只在加载后推送路线以显示它?我正在努力为用户创造无缝体验。

感谢任何信息,谢谢!

【问题讨论】:

  • 您能添加您的代码吗?如果您想回答是否可能:是的,当然。但是,这取决于您要执行的操作。在将小部件插入构建树之前,您无法构建小部件(显然?)。您可以加载所有数据,在推送路由之前进行所有计算。
  • @creativecreatorormaybenot 我在这里一般问。示例代码将只涉及一个推动 Google 地图视图(在脚手架内)的按钮。如果有帮助,我可以发布一些代码。
  • @JacobPhillips 给出了一般性答案。

标签: dart flutter


【解决方案1】:

您可以将逻辑放在async 函数中。

Future buildAndNavigate(BuildContext context) async {
  Widget widgey = await buildWidget();
  Navigator.push(context, ...);
}

【讨论】:

  • 对不起,在我的问题中更清楚和准确:在用户导航到谷歌地图视图之前,在后台构建它,所以当用户弹出查看地图的路线时,没有加载或抖动。
猜你喜欢
  • 2021-05-09
  • 1970-01-01
  • 2020-01-04
  • 2010-09-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-09
  • 1970-01-01
相关资源
最近更新 更多