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字段,这就是我所能处理的所有路线和深度链接。有时,我会在应用程序页面中为特定路线使用导航器小部件,但这种情况很少见。