react在普通函数中跳转页面?
封装了一个axios,想要在token过期的时候做返回登录页的统一处理,代码如下:if (response.data.errno === 1) {
//登录过期回到登录页
let navigate = useNavigate()
navigate('/login')
}报错了,如下:
使用window.location.href
可以成功,除次之外,react还有别的跳转方法吗这是当前的文件内容
//http.ts
import axios, { AxiosInstance } from "axios"
import { AxiosRequest } from "./types"
import { message, Spin } from 'antd';
import Loading from "./loading";
import { useNavigate } from "react-router-dom"
const navigate = useNavigate();
class HTTP {
interceptRequest(response){
if (response.data.errno === 1) {
//登录过期回到登录页
navigate('/login')
}
}
回复
1个回答
test
2024-06-23
下面链接是react-router-dom@6的组件外跳转方式:https://segmentfault.com/a/1190000044558173#item-6
react-router-dom@5的方式
// history.js
import { createBrowserHistory } from 'history'
export default createBrowserHistory()
// App.js
import { Router, Route, Switch } from 'react-router-dom'
import history from './history'
function App() {
render() {
return <Router history={history}>...</Router>
}
}
// other.js
import history from './history'
history.push('/index')
回复
适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容