React-Router v6 useNavigate 非组件不生效

1. 官方文档&中文文档

React Router 官方文档

React Router 中文文档

2. 相关技术文档

升react-router v6后react-router-config不能用了

如何通过react-router-dom优雅的实现菜单权限和登陆拦截功能

如何优雅的使用react-router v6实现全局守卫

3. FAQ

3.1 react-router-dom useNavigate 在非组件不生效

How to use router inside axios interceptors. React and Vue

ts 复制代码
// src/router/globalRouter.ts
import { NavigateFunction } from "react-router-dom";

const globalRouter = { navigate: null } as {
  navigate: null | NavigateFunction;
};

export default globalRouter;
ts 复制代码
// src/main.tsx
import { Route, Routes, useNavigate } from "react-router-dom";
import globalRouter from "./globalRouter";

function App() {
  const navigate = useNavigate();
  globalRouter.navigate = navigate;
}

export default App;
ts 复制代码
// src/utils/request.ts
import globalRouter from "@/utils/globalRouter";
import axios from "axios";

const customAxios = axios.create();

customAxios.interceptors.response.use(
  function (response) {
    return response;
  },
  function (error) {
    if (error.response.status == 401 && globalRouter.navigate) {
      globalRouter.navigate("/login");
    }
    return Promise.reject(error);
  }
);

export default customAxios;
相关推荐
晚安日记wanna32 分钟前
Vue2 的 defineProperty 差在哪四层追问筛掉九成候选人
前端·vue.js·面试
TiDi36 分钟前
吸顶导航交互实现
前端
kisshyshy39 分钟前
从Props透传到自定义Hook:系统梳理React跨层级通信与逻辑复用
前端·架构·代码规范
yume_sibai42 分钟前
05-Flutter实战项目
前端·flutter
涛涛ing1 小时前
React 19.3 发布,但真正的赢家是 StyleX:当 AI 成为框架的“第一用户”
前端
zhangminghuan1 小时前
Vue vs React 实战拓展面试题|摒弃基础八股,聚焦业务开发核心难点(2026前端进阶)
前端
IT_陈寒2 小时前
Redis主从切换竟让业务卡了3秒?这个坑我替你踩了
前端·人工智能·后端
天若有情6732 小时前
独立开发复盘:我用 Node.js 做了个在线工具箱
前端·json·工具
xieliyu.2 小时前
前端基础:常见CSS选择器用法
前端·css·笔记·vscode
zttbee2 小时前
前端测试内容
前端