React 在非组件环境切换路由

编程入门 行业动态 更新时间:2024-10-15 06:15:33

React 在非组件环境切换<a href=https://www.elefans.com/category/jswz/34/1771390.html style=路由"/>

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的时候,跳转到登录页面,但是像上面这样使用路由,该怎么在组件外面(例如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 (<LoadingProvider><AliveScope><RouterProvider router={router} /></AliveScope></LoadingProvider>);
};

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

就类似这样:

import { router } from "@/router";router.navigate('/login');

更多推荐

React 在非组件环境切换路由

本文发布于:2023-12-03 11:28:28,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1654845.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:路由   组件   环境   React

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!