flutter - 在我的 flutter 应用程序中分离不同模块的路由的最佳方法是什么

标签 flutter dart routes bloc

现在我正在使用生成的路由。我有一个类将所有路由返回到 onGenerateRoute。我的应用程序中有几个模块,我已将它们分开。可访问的模块取决于用户的类型。我尝试为每个模块创建不同的路由文件,并可以从主路由文件访问它们。我正在使用 block 状态管理。 (我的路线文件开始变得非常困惑。)

最佳答案

我实现此目的的一种方法是通过嵌套导航并使用多个导航器小部件,每个小部件管理一组路线(如果您使用的是 Navigator 1.0)。

例如;在主路由对象中,您可以拥有到每个模块小部件的路由:用户和管理员:

routes: {
   '/user': (context) => UserWidget(),
   '/admin': (context) => AdminWidget()
}

然后在每个小部件(定义单独的模块)中,您可以有一个嵌套的导航器小部件,它列出每个模块的路线(一些“伪”代码来了解这个想法):

class AdminWidget 
- Navigator
   - onGenerateRoute
     - '/admin_page1'
     - '/admin_page2'
     - '/admin_page3'
class UserWidget 
- Navigator
  - onGenerateRoute
    - '/user_page1'
    - '/user_page2'
    - '/user_page3'

这样,您就可以对路线进行分组,并根据用户的类型或角色将用户引导至相应的路线。这是一种方法。

关于flutter - 在我的 flutter 应用程序中分离不同模块的路由的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71256651/

相关文章:

flutter - 如何在 flutter 中定义自定义文本主题?

Flutter 小部件最佳实践 : Inner Class vs Function

unit-testing - 如何在 Flutter 中使用compute() 测试函数?

ruby-on-rails - 为什么 rails_admin 路由只适用于 link_to 而不是 'render'

jquery - HTML5 应用程序路由、pushState

routes - 嵌套路由从链接触发,而不是从 URL 更改触发

Flutter如何使用geolocator包获取纬度、经度?

dart - 如何在 Flutter 中为抽屉菜单项添加徽章?

flutter - Flutter:导入和库之间的区别

dart - 如何自动初始化父字段?