有一些问题想请教老师
来源:5-4 Flutter新版路由和导航系统实战(一)

慕田峪6597705
2022-06-26
我觉得老师第五章讲的关于navigator 2.0的部分讲的不是很好。主要是pages的处理部分感觉逻辑有问题。具体来讲就是这段代码:
这段代码逻辑就是当为home时清空路由栈,其他类型时清理掉包括自己的页面,然后新创一个自己的页面。这就会为backbutton的处理带来一点有反常识的操作。
我觉得可以用嵌套路由来解决这样一个问题。顶层路由有注册登录首页3个页面,登录之后进入首页,这个时候再来一个navigator处理退回问题。老师有其他方案我洗耳恭听。还有老师可以将navigator和router之间的关系讲的更透彻些。还有就是routerInfomationParser讲的多一点,页面带有参数的时候还是挺有用的。用起来感觉这个pages路由栈问题多多,有不甚合理处,所以查阅了很多资料,官方代码是我找到最全最好的学习navigator2.0的代码,希望后来的学员少走“弯路”,当然老师的课程能让我们有个快速大致的概念,用到项目中还是不要照搬为好。这是官方代码:navigation & routing
,希望学员们都能进步。
写回答
1回答
-
CrazyCodeBoy
2022-06-26
1.适配场景和需求不同,在登陆成功跳转首页时,希望在首页不能返回到登陆页,所以在这个时候需要清除页面堆栈,这样就可以实现禁用Home中的backbutton的返回功能;
2.routerInfomationParser的引入主要是解决在web场景时页面传参的问题,对于Android和iOS应用来说不太灵活;所以,课程采在hi_navigator封装了onJumpTo方法来实现页面跳转时的传参功能;
3.另外,课程主要是面向Android和iOS应用,所以在设计导航器的时候,对移动端应用切换页面,页面生命周期状态感知做了支持和实现,因此没有用嵌套路由的方式;00
相似问题