router、Navigation混合使用存在问题,后续HarmonyOS如何规划的

router、Navigation,这两种页面路由方式如何推荐使用及后续HarmonyOS的如何规划,如何让开发者明确使用场景,不出问题。HarmonyOS是持续演进两种路由方式吗?

当遇到的问题,两种页面路由混用会存在一些问题。

1. router对应页面Page级别,Navigation对应Component级别,router级别比较高,router拉起的Page再最上面,再使用拉起Compnent不显示。例如PageA是Navigation,使用NavPathStack,内部包含Component1、Component2、Component3PageB是普通页面。PageA—(router)–>PageB—(NavPathStack)–>PageA的Component1在这种情况下,PageA的Component1显示不出来,被PageB盖住了。

2. 页面管理很难Page、NavDestination,都可以认为是页面,一个用router管理栈、一个用NavPathStack管理栈,混用的情况下如何统一的管理页面栈。

HarmonyOS
2024-10-18 11:14:41
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
superinsect

Router配合@Entry的路由方式存在一些弊端:

页面与页面之间相互独立,无法产生关联,尤其在复杂动效互动场景下(页面之间元素进行共享互动)很难实现。

新UX设计约定了页面转场动效规范,针对页面的标题,内容,回退按钮等设计了错层动画,需要抽象页面的标题和内容,开发者定义内容,框架整合标题,来实现相关UX转场效果。

在模态交互场景,比如半模态弹窗等,需要在模态界面进行页面切换,而模态界面本身属于页面内的控件,无法通过页面路由实现模态界面中的切换效果,需要提供组件级的路由能力,嵌套在模态弹窗内。

@Entry方式通过工具链生成自执行代码,一旦当前模块加载就会自动执行代码生成页面,无法让开发者管控加载和销毁逻辑。

Router废弃原因:

为保证体验一致性以及后续需求的开发,只维护一套导航路由框架,router在后续版本逐步废弃。

Router废弃的影响:

对存量应用无影响,对后续开发应用推荐使用Navigation进行路由导航,当前系统应用已经逐步切换到Navigation上,三方生态拓展已推荐使用Navigation进行路由和导航。

分享
微博
QQ
微信
回复
2024-10-18 18:11:05
相关问题
HarmonyOS push功能后续规划
431浏览 • 1回复 待解决
HarmonyOS Navigationrouter使用场景
402浏览 • 2回复 待解决
HarmonyOS Navigation使用问题
453浏览 • 1回复 待解决
HarmonyOS Navigation 使用问题
432浏览 • 1回复 待解决
HarmonyOS 图文混合问题
282浏览 • 1回复 待解决
关于routerNavigation要选择哪个使用
708浏览 • 2回复 待解决
HarmonyOS Navigationrouter怎么用
34浏览 • 1回复 待解决
flutter混合遇到问题
293浏览 • 1回复 待解决
router.getParams使用问题
763浏览 • 1回复 待解决
navigationrouter区别是什么?
1021浏览 • 1回复 待解决
HarmonyOS router路由路径问题
553浏览 • 1回复 待解决
HarmonyOS router跳转问题
517浏览 • 2回复 待解决
HarmonyOS router 返回问题
351浏览 • 1回复 待解决
HarmonyOS 路径规划无划线
457浏览 • 1回复 待解决