美文网首页
小程序扫码触发onShow的解决思路

小程序扫码触发onShow的解决思路

作者: 王善良_ | 来源:发表于2023-10-24 16:01 被阅读0次

    描述:

    支付宝小程序某个页面有个扫码按钮,点击后,调用支付宝的api,去跳到一个支付宝自带的扫码页,扫码完成后,就自动弹回当前页(无法控制弹回),此时会触发页面的onShow事件

    但是业务上需要把扫码得到的code填充到输入框中,并带入搜索

    在扫码相关的逻辑上已经写了相关的逻辑代码,但是因为额外出发了onShow,onShow里面本身就有一次查询,所以扫码回来触发了两次查询,一次是扫码的业务查询,一次是额外的onShow查询

    造成的问题

    onShow查询触发时,扫出来的码还没setState进去,所以onShow触发的那个查询,是没带上扫码code的,并且onShow调用的接口如果回来的较慢,会把正常业务逻辑扫码查询到的结果给覆盖

    解决

    方案1:

    正常解决方案应该是加一个状态控制/锁/flag 之类的变量,点击扫码时flag=true,然后onShow里面判断flag,再去执行相应逻辑

    方案2:

    封装了一个hook
    https://www.jianshu.com/p/30f837935059?v=1698220423472

    相关文章

      网友评论

          本文标题:小程序扫码触发onShow的解决思路

          本文链接:https://www.haomeiwen.com/subject/pzesidtx.html