收藏
回答

[BUG]tab中调用reLanuch,非当前tab的unload不会调用

框架类型 问题类型 终端类型 操作系统 微信版本 基础库版本
小程序 Bug 客户端 6.6.5 1.9.97


tabbar包含两个页面A,B,当前页面为B,在B中调用reLaunch({url: C}),B的onUnload会执行,A的onUnload不会执行


既然reLaunch的意义是“关闭所有页面,打开到应用内的某个页面”,那么理应调用所有关闭页面的onUnload,因为如果不这样,页面在onLoad中申请的资源没有机会释放


举个例子,小程序中引入了redux进行状态管理,有A,B,C三个页面,A,B为tab page,C为登录页

A的onLoad中subscribe了store的listener,相应在onUnload中释放,B中有个退出按钮,点击的效果是登出到登录页C,期望的行为是此时非活动tab A的onUnload会自动调用以释放listener

最后一次编辑于  2018-04-02
回答关注问题邀请回答
收藏

1 个回答

  • 帅气的蜜蜂🦀
    帅气的蜜蜂🦀
    2018-10-23

    我也碰到这个问题,我是在tab页有一个红点的轮询,在unload 和 onhide的时候 unsubscribe.

    当我的接口返回401的时候,我会wx.reLaunch 到 login页面,这时候 unload 并没有触发,导致轮询还在继续

    2018-10-23
    有用 1
    回复
登录 后发表内容