react在普通函数中跳转页面?-灵析社区

M78的社畜

封装了一个axios,想要在token过期的时候做返回登录页的统一处理,代码如下: if (response.data.errno === 1) { //登录过期回到登录页 let navigate = useNavigate() navigate('/login') } 报错了,如下: ![](https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241009/4b1afb57dacdd2d36d500773f490f48c.png) 使用`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') } }

阅读量:191

点赞量:0

问AI
脑袋困掉惹
下面链接是react-router-dom@6的组件外跳转方式: "https://segmentfault.com/a/1190000044558173#item-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 ... } } // other.js import history from './history' history.push('/index')