react-router 使用HashRouter时微信jssdk分享的问题
一次开发中使用用jssdk中会修改当前分享中的内容以及链接之后,进行测试时使用android设备进行分享,发现无法获取到hash值的内容。ios设备正常,进行多次Google之后发现这个是jssdk诸多坑中的一个。
例如设置分享的url地址如下:
https://xwlong.com/wechat/#/detail
实际android分享的地址是:
https://xwlong.com/wechat/
这样路由的就没有效果了
解决办法:
实际上解决办法很简单,加上任意的search参数,或者只加上一个?
也可以。如下:
https://xwlong.com/wechat/?#/detail
const setShareUrl = href => {
const url = new URL(href)
if(!url.search) {
url.search = '?'
}
return url
}
以上😊