项目场景:
做微信小程序时,通过URL Link进入场景值一直不变,导致判断问题
问题描述
我的小程序分为很多个门店。
比如,通过URL Link跳转进A页,会携带门店参数。但是返回首页选择其他门店后,再进入A页,判断逻辑因为场景值未变,再次进入初次通过URL Link跳转进来的分支,导致门店又变了回去。
原因分析:
整个项目用的Taro,利用Taro.getLaunchOptionsSync()获取场景值,获取的参数是在小程序的生命周期onLaunch()获得的,进入小程序只会获取一次,所以一直没有变化
网上有说通过onShow()获取,我并未试过,Taro的componentDidShow里也没有参数。
解决方案:
我做了一个统一的入口页url-link,把要跳转路径的地址放在query中,在这个入口页分发并判断场景值,通过路由跳转,并携带需要的参数,这样其他页的逻辑就不需要做改动
需要判断场景值,可以通过路由或者缓存带一个参数判断即可