Flutter Clean Architecture 实践(5)

OldBird

实用Tips|2024-11-26|Last edited: 2024-11-26|
type
status
date
slug
summary
tags
category
icon
password
在上一篇文章中,我们已经成功地设计了 Instagram 应用程序的所有页面,在本文中,我们将在应用程序中进行路由,因为我们在这个应用程序中有太多的页面,所以最好进行路由以保持一切干净,因为这是一系列的 Clean Architecture
<ins/>
首先,在你的 main.dart 文件中,在 MaterialApp() 中添加一个属性 onGenerateRoute:,并从 OnGenerateRoute 类中调用一个方法路由,它尚未创建,但不用担心我们稍后会这样做。
 

main.dart

 
 
现在在 lib 目录中创建一个新文件,将其命名为 on_generate_route.dart 并打开该文件并在其中粘贴该代码:
 

on_generate_route.dart

 
<ins/>
 
在这个文件中,我们创建了一个带有静态方法的类,我们在 main.dart 中调用它也是为了使用 GenerateRoutes,这里有一个 pageBuilder() 方法,它简单地返回 MaterialPageRoute,为了保持我们的代码干净,我们为此创建了一个单独的方法,这里还有一个 StatelessWidget,它只是 NoPageFound就像在 switch case 中,某些 case 与特定字符串或其他内容不匹配时,将发出此默认状态。
 
现在你可能想知道 PageConst 是什么,它基本上是 const.dart 文件中的一个类,我们不想在 UI 中硬编码任何类型的 String,所以我们为页面常量创建了一个单独的类
 
在 consts.dart 中添加此代码
 
 
现在再次进入你的 main.dart,需要更多的修改,将你的 MaterialApp() 替换为下面的代码。
 
 
现在,使用此 MaterialApp() 在您的应用程序中搜索所有 Navigator.push() 方法,并替换为下面的代码。
 
 
请记住,此 PageConst.editProfilePage 用于转到 EditProfilePage(),您应该根据要导航的页面更改此 String。
 

结论

 
在这部分,我们已经完成了应用程序的路由,在下一篇文章中,我们最终将介绍 Backend 的东西.
 
Loading...