关于微信小程序wx.redirectTo无法转跳的问题

在开发微信小程序时遇到登录后无法通过wx.redirectTo跳转的问题,经排查发现原因包括目标页面未正确声明、TabBar页面限制以及对导航方式的理解。最终通过修改导航方式为wx.switchTab解决了问题,同时介绍了小程序导航方式的注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在开发微信小程序的时候遇到了登录成功后调用wx.redirectTo接口却无法转跳的问题。
在这里插入图片描述
控制台没有报错,所以代码应该没有问题,于是检查了几个可能导致无法转跳的原因:

  • 目标页面没有在app.json中声明
  • 目标页面的URL路径错误
  • 页面展溢出(页面栈最多只能有10层,超过10层会发生溢出)

问题还是没有解决,后面查阅了一下,发现如果目标页面是TabBar页面也会导致wx.redirectTo无法转跳。

我在app.json中将pages/index/index设置为了TabBar页面
app.json
在这里插入图片描述
因此我把导航方式修改为wx.switchTab,果然可以正常的跳转到pages/index/index页面了。

查阅了微信官方文档,导航方式的注意点:

  1. wx.navigateTo
    保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面。使用 wx.navigateBack 可以返回到原页面。小程序中页面栈最多十层。
  2. wx.redirectTo
    关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面
  3. wx.switchTab
    跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。
  4. wx.reLaunch
    关闭所有页面,打开到应用内的某个页面。
  5. wx.navigateBack
    关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages 获取当前的页面栈,决定需要返回几层。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值