React?在非組件環(huán)境切換路由的方法
我的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>
<Route
path={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');到此這篇關于React 在非組件環(huán)境切換路由的文章就介紹到這了,更多相關React 非組件環(huán)境內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
在React中實現(xiàn)分塊導出大量數(shù)據表格并壓縮成圖片的解決方案
在現(xiàn)代Web開發(fā)中,處理和展示大量數(shù)據是一個常見的挑戰(zhàn),特別是在使用React框架時,我們經常需要將這些數(shù)據以表格的形式展示,并提供導出功能,本文將介紹如何在React中實現(xiàn)一個高效、分塊導出大量數(shù)據表格,并將其壓縮為圖片的解決方案,需要的朋友可以參考下2024-12-12
引入代碼檢查工具stylelint實戰(zhàn)問題經驗總結分享
eslint的配置引入比較簡單,網上有比較多的教程,而stylelint的教程大多語焉不詳。在這里,我會介紹一下我在引入stylelint所遇到的坑,以及解決方法2021-11-11

