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
}

以上😊