嵌套路由中应该使用flutter路由还是应该使用Page View?

Ced*_*Ced 5 flutter flutter-navigation flutter-web

来自网络背景(角度),我真的对颤振路由感到困惑。

看来我并不孤单(1、2 ... )。

从答案的相对复杂性以及与其中一些答案相关的各种错误来看,我想知道我是否只是想使用导航器作为它不是的东西。我尝试像使用网络框架的路由器一样使用它。如果 flutter 中的路由旨在更改整个屏幕而不是子窗口小部件。

网络导航

在 Web 上,以下导航将类似于以下内容:

{ path: '/sign-in', widget: SignInPage() },
{ path: '/', widget: HomePage(), children: [
    { path: '/a', widget: DashboardPage() },
    { path: '/b', widget: ProfilePage(), children: [
       { path: '/general', widget: BGeneralPage() },
       { path: '/settings', widget: BSettingsPage() },
    ] }
] }
// example url x.com/b/settings
Run Code Online (Sandbox Code Playgroud)

在flutter中你可以放置一个嵌套的Navigator,但是热重载似乎失败了,而且默认动画也很垃圾。甚至嵌套导航的文档也说<<仅使用单个导航器就可以获得类似的结果>>。

在我看来,路由系统是为了在我们想要更改整个屏幕时使用的。PageViewTabBarView是用于内部导航的小部件。

- 是这样吗?

然而,我发现一个潜在的问题是,当 flutter web 可用时,它不会有匹配的 url。