最近写项目的时候遇到一个问题 如图所示:
用户token失效后,页面需要跳转回登录页面,用location.href直接赋值会导致页面刷新(对SPA来说是可耻的)。而且location.href跳转的时候,页面并没有提示信息出现就直接跳转了,然后就想着使用useHistory来进行跳转,但是hooks只能在函数组件或者其它hooks中使用,然后人就没了。各种查资料之后终于找到方法了。解决方法如下:
安装react-router-dom时,默认会安装history包,可以通过这个包来自己创建history对象。
// 单独封装 默认导出
import { createBrowserHistory } from 'history'
const history = createBrowserHistory()
export default history
然后再导入使用即可: