收藏
回答

wx.redirectTo重复添加相同页面到堆栈中

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug wx.redirectTo重复添加页面到堆栈中 客户端 7.0.4 2.7.7

- 当前 Bug 的表现(可附上截图)

从A页面通过wx.navigateTo跳转至B页面,在B页面通过wx.navigateTo跳转到C页面,然后从C页面通过wx.redirectTo跳转到B页面,这个时候通过wx.navigateBack返回时会返回两次B页面。


- 预期表现

已经存在在页面栈中的页面不希望再打开一个新的。


- 复现路径

https://developers.weixin.qq.com/s/pQVrm2mn7Bam

- 提供一个最简复现 Demo

https://developers.weixin.qq.com/s/pQVrm2mn7Bam

最后一次编辑于  07-22
回答关注问题邀请回答
收藏

5 个回答

  • 向死而生
    向死而生
    1天前

    我也遇到了,这个只能A之后的都用redirectTo就可以解决了。。。在redirectTo之间用了navigateTo,就会出现这种死循环的问题

    1天前
    赞同
    回复
  • 小晴儿
    小晴儿
    10-18

    咦,楼主你的这个复现链接是怎么弄得吖,这样好方便

    10-18
    赞同
    回复 2
    • keeper
      keeper
      10-18
      开发工具新建代码片段
      10-18
      回复
    • 小晴儿
      小晴儿
      10-18回复keeper
      嗯嗯  刚刚发现了 谢谢
      10-18
      回复
  • 鲤子
    鲤子
    07-22

    -0- 不知道是你代码逻辑问题还是怎样,但是我发现tabbar页面确实会加载2次导致页面栈不对了。

    07-22
    赞同
    回复
  • 祺爸💎
    祺爸💎
    07-22

    是你代码逻辑的问题

    07-22
    赞同
    回复 10
    • keeper
      keeper
      07-22
      请问那块有问题呢?
      07-22
      回复
    • 丶晓晓晓包
      丶晓晓晓包
      07-22回复keeper
      back就是关闭当前页面了啊
      07-22
      回复
    • keeper
      keeper
      07-22回复丶晓晓晓包
      你好 我的问题是B页面被两次添加进了页面栈的问题
      07-22
      回复
    • 祺爸💎
      祺爸💎
      07-22回复keeper
      两次都是你自己添加的
      07-22
      回复
    • keeper
      keeper
      07-22回复祺爸💎
      你觉得同一页面两次被添加进堆栈这种设计合理吗?
      07-22
      回复
    查看更多(5)
  • 丶晓晓晓包
    丶晓晓晓包
    07-22

    那你干嘛要redirect到B页面呢,干嘛不用back呢?

    07-22
    赞同
    回复 8
    • keeper
      keeper
      07-22
      业务场景需要关闭C页面,同时跳转到B
      07-22
      回复
    • 祺爸💎
      祺爸💎
      07-22回复keeper
      back就是这样的
      07-22
      回复
    • keeper
      keeper
      07-22回复祺爸💎
      已经在堆栈中打开的页面不需要打开两个重复的页面,这种逻辑明显是有问题的吧!
      07-22
      回复
    • 祺爸💎
      祺爸💎
      07-22回复keeper
      是你逻辑有问题
      07-22
      回复
    • keeper
      keeper
      07-22回复祺爸💎
      。。。。什么问题哟?
      07-22
      回复
    查看更多(3)