在rn中嵌入h5,在发生了网络请求后,数据发生改变,需要刷新,使用了一堆方法:
location.reload()
history.go(0)
window.location.assign(location)
window.location.reload()
这些方法要没没反应,要么执行后变成404。
也试过将router mode改为hash的模式 ,但是因为要获取url中的token,这样就没法获取了(也许有,只是我不知道怎么弄)
最后用了一个“作弊”的方法。
在网络请求成功后,立即跳转至一个空白页面,在这个空白页面什么都不写,只在created中执行一个定时器,100毫秒后跳回至你的当前页面,这样在用户看来,就只是网络请求成功后刷新了一下而已。
具体代码片段:
网络请求.then(res=>{
//这里用的Promise 请求成功后
this.$router.push("/transfer")} //transfer是中转的意思 这个页面的作用就是用来做个路由中转
在/transfer页面中:
created(){
setTimeout(()=>{
this.$router.back()
},100) }
})
这样就可以完成页面刷新了