HarmonyOS Navigation和router如何选择

Navigation和router如何选择,官方能给个推荐理由吗?

HarmonyOS
2024-12-26 13:22:45
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zxjiu

Navigation是HarmonyOS 系统中的一种页面跳转方式,它可以完全替换router的能力。Navigation可以处理复杂场景,如应用当前或以后可能出现的复杂动效、交互、多级路由等。推荐使用Navigation进行整体交互体验的一致性,并持续在路由能力方面进行演进和增强。而router不提供这种复杂场景的支持,并且不建议在模块间与模块内使用router进行页面跳转,因为这会导致转场动效不一致。

当前HarmonyOS支持两套路由机制(Navigation和Router),Navigation作为后续长期演讲及推荐的路由选择方案,其与Router比较的优势如下:

1、易用性层面: Navigation天然具备标题、内容、回退按钮的功能联动,开发者可以直接使用此能力。Router若要实现此能力,需要自行定义; Navigation的页面是由组件构成,易于实现共享元素的转场。

2、功能层面: Navigation天然支持一多,Router不支持; Navigation没有路由数量限制,Router限制32个; Navigation可以获取到路由栈NavPathStack,并对路由栈进行操作; Navigation可以嵌套在模态对话框中,也就是说可以模态框中定义路由,Router不支持; Navigation的组件全量由开发者自行控制,开发者可以自定义复杂的动效和属性的设置(背景、模糊等),Router的page对象不对外暴露,开发者无法对page进行处理。

3、性能层面 Navigation传递参数性能更优,Navigation通过引用传递,Router通过深拷贝完成; Navigation可以配合动态加载,实现组件动态加载,Router页面使用@Entry进行修饰,当前模块加载时会生成全量页面。

应用架构可以参考链接:

https://developer.huawei.com/consumer/cn/doc/best-practices-V5/bpta-app-architecture-overview-V5

分享
微博
QQ
微信
回复
2024-12-26 16:13:36
相关问题
关于routerNavigation选择哪个使用
862浏览 • 2回复 待解决
HarmonyOS Navigationrouter怎么用
341浏览 • 1回复 待解决
HarmonyOS 关于navigationrouter的问题
114浏览 • 1回复 待解决
HarmonyOS Navigationrouter的使用场景
808浏览 • 2回复 待解决
HarmonyOS routerNavigation
69浏览 • 1回复 待解决
navigationrouter的区别是什么?
1498浏览 • 1回复 待解决
HarmonyOS router跳转与navigation跳转
269浏览 • 1回复 待解决
如何选择Navigation 组件与 Tabs 组件
2766浏览 • 1回复 待解决
Class Routernamespace router有什么区别
1836浏览 • 1回复 待解决
HarmonyOS routernavigaiton混用问题
92浏览 • 1回复 待解决
HarmonyOS 跳转方式RouterNavigator
656浏览 • 1回复 待解决