当前位置: 首页 > news >正文

React 在非组件环境切换路由

我的react-router-dom版本是6.16.0。之前在react中是这样配置路由的

App.jsx

import ReactDOM from 'react-dom/client';
import { HashRouter, Route, Routes } from 'react-router-dom';const root = ReactDOM.createRoot(document.getElementById("app"));
root.render(<HashRouter><Routes><Routepath={XXX}element={<Component></Component>}key={XXX} /> </Routes></HashRouter>
);

然后使用axios做接口拦截,当接口的是响应码是10000的时候,跳转到登录页面(10000表示接口返回token过期),但是像上面这样使用路由,该怎么在组件外面(例如axios的逻辑中)做路由跳转呢。

目前看这种方法好像无法做跳转。

可以使用下面的方式做

router/index.jsx

import { createHashRouter } from "react-router-dom";export const router = createHashRouter([{path: "/",element: <Component />,},
]);

App.jsx

import React, { useEffect } from "react";
import { RouterProvider, createHashRouter } from "react-router-dom";
import { router } from "@/router";export default () => {return (<RouterProvider router={router} />);
};

然后如果组件外面想切换路由:

就类似这样:

import { router } from "@/router";router.navigate('/login');
http://www.lryc.cn/news/210140.html

相关文章:

  • Oracle高速批量速插入数据解决方案
  • 基于单片机嵌入式的智能交通信号灯管理系统的设计与实现
  • 在全新ubuntu上用gpu训练paddleocr模型遇到的坑与解决办法
  • React之服务端渲染
  • jetson nano刷机更新Jetpack
  • Android官方ShapeableImageView描边/圆形/圆角图,xml布局实现
  • ubuntu扩大运行内存, 防止编译卡死
  • Kafka集群修改单个Topic数据保存周期
  • selenium模拟登录无反应
  • 指针变量未分配空间或者初始化为空指针使用问题
  • 力扣第763题 划分字母区间 c++ 哈希 + 双指针 + 小小贪心
  • js 代码中的 “use strict“; 是什么意思 ?
  • 用于读取验证码的 OCR 模型
  • Uniapp 跳转回上一页面并刷新页面数据
  • DeOldify 接口化改造 集成 Flask
  • Vue 3响应式对象: ref和reactive
  • Unity3D 如何用unity引擎然后用c#语言搭建自己的服务器
  • 带有 Vagrant 和 Virtualbox 的 Elasticsearch 集群
  • Cross Site Scripting (XSS)
  • VDA到Excel方案介绍之自定义邮件接收主题
  • 【opencv】【CPU】windows10下opencv4.8.0-cuda C++版本源码编译教程
  • 多分类loss学习记录
  • Linux创建逻辑卷并扩容(超详细)
  • buuctf_练[安洵杯 2019]easy_web
  • 入学生活科研随笔
  • 【1++的Linux】之进程间通信(共享内存)
  • Linux高性能服务器编程——ch8笔记
  • Android WMS——ViewRootImpl分析(六)
  • Unsatisfied dependency expressed through bean property ‘sqlSessionTemplate‘;
  • 【C++】智能指针:auto_ptr、unique_ptr、share_ptr、weak_ptr(技术介绍 + 代码实现)(待更新)