flutter - onGenerateRoute 多次调用
问题描述
在我的主要方法中,我有
onGenerateRoute: (route) {
print(route);
return Router.generateRoute(route);
}
如果我输入 URL,https://myurl.com/#/foo/bar
我可以看到打印被多次调用。
/
/foo
/foo/bar
我有一个问题,因为我想输入bar
路径,但它被输入foo
了。
任何想法我应该如何进行?
解决方案
它变得更糟。将 initalRoute 设置为/home/1/2/3/4/5
,onGenerateRoute 将被调用 7 次。
您可以通过以下方式使其不那么可怕:
MaterialApp app;
app = MaterialApp(
onGenerateInitialRoutes: (initialRoute)=>[app.onGenerateRoute(RouteSettings(name:initialRoute))],
initialRoute: initial,
onGenerateRoute: app.onGenerateRoute);
这样可以避免您多次调用 Route 的 initState,并且路径中的每个“/”都有一个 onGenerateRoute。但是,如果您在浏览器栏中提供路径,仍然会调用两次 onGenerateRoute。
我已经提交了一个错误报告:https ://github.com/flutter/flutter/issues/71786
推荐阅读
- php - 检查缩略图和完整图像是否在 PHP 中匹配
- elixir - 使用 Ecto 在 Elixir 的测试中有时会出现奇怪的错误
- c - 执行不启动程序
- dictionary - 在 iText 中为区域注释创建度量字典
- string - 使用 map 和 toInt 将字符串转换为 Scala 中的数字集合
- python - Python SciPy UnivariateSpline vs R smooth.spline
- javascript - JavaScript 验证多个输入框
- c++ - 优化将 std::uint32_t 插入 std::vector
- android - 辅助功能回调 - 当对讲完成阅读公告时
- java - 二维数组中的越界异常