写点什么

关于 replacePath 和 pushPathByName 的问题,用 replacePath 后返回还是上一个页面是为什么?

  • 2026-02-27
    北京
  • 本文字数:305 字

    阅读完需:约 1 分钟

本问答帖原创发布在华为开发者联盟社区 ,欢迎开发者前往论坛提问交流。

问题描述:

使用 Navigation 导航,在首页就使用了 replacePath 替换页面,之后返回却还是回到了被替换的原页面。明明是替换页面,原页面不是应该不在栈里了吗?为什么返回还能是上一个页面呢?那和 pushPathByName 这种不就没区别了吗?

解决方案:

Navigation 的内容区默认展示导航内容,即路由栈为空时的首页。

举例比如 pageA 使用 replacePath 跳转 pageB

若 pageA 不是通过 NavDestination 和 pageMap 注册的路由组件,而是直接写在 Navigation 内容区。

参考 demo、详细解决方案以及相关的讨论,请点击原帖查看:

关于replacePath和pushPathByName的问题-华为开发者问答 | 华为开发者联盟 (huawei.com)