这是Flutter应用程序中路由的最佳方式



Flutter应用程序中路由的最佳方式是什么?我尝试过命名路线、路线阵列、flutter导航2.0。但我仍然不确定哪一个是最好的。

Flutter文档建议使用go_router包进行导航


说明:

琐碎方法的局限性

尽管命名路由可以处理深度链接,但行为始终相同,无法自定义。当平台接收到新的深度链接时,Flutter会将新的路线推送到Navigator上,而不管用户当前在哪里。

建议的更好方法

具有高级导航和路由要求的Flutter应用程序(如使用到每个屏幕的直接链接的web应用程序,或具有多个Navigator小部件的应用程序(应使用路由包,如go_router,该包可以在应用程序收到新的深度链接时解析路由路径并配置Navigator。


关于go_router的参考问题:

  • Flutter:go_router如何将多个参数传递到其他屏幕
  • Go_Router将对象传递到新路线

Navigator 1.0和2.0可用。不赞成使用"无"。

对于移动应用程序,只有Navigator 1.0是最好的,我使用MaterialApp中的GenerateRoute字段,这就是我所能处理的所有路线和深度链接。有时,我会在应用程序页面中为特定路线使用导航器小部件,但这种情况很少见。

最新更新