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
做接口攔截,當(dāng)接口的是響應(yīng)碼是10000
的時(shí)候,跳轉(zhuǎn)到登錄頁面(10000
表示接口返回token過期),但是像上面這樣使用路由,該怎么在組件外面(例如axios
的邏輯中)做路由跳轉(zhuǎn)呢。
目前看這種方法好像無法做跳轉(zhuǎn)。
可以使用下面的方式做
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');
到此這篇關(guān)于React 在非組件環(huán)境切換路由的文章就介紹到這了,更多相關(guān)React 非組件環(huán)境內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在React中實(shí)現(xiàn)分塊導(dǎo)出大量數(shù)據(jù)表格并壓縮成圖片的解決方案
在現(xiàn)代Web開發(fā)中,處理和展示大量數(shù)據(jù)是一個(gè)常見的挑戰(zhàn),特別是在使用React框架時(shí),我們經(jīng)常需要將這些數(shù)據(jù)以表格的形式展示,并提供導(dǎo)出功能,本文將介紹如何在React中實(shí)現(xiàn)一個(gè)高效、分塊導(dǎo)出大量數(shù)據(jù)表格,并將其壓縮為圖片的解決方案,需要的朋友可以參考下2024-12-12react-router實(shí)現(xiàn)跳轉(zhuǎn)傳值的方法示例
這篇文章主要給大家介紹了關(guān)于react-router實(shí)現(xiàn)跳轉(zhuǎn)傳值的相關(guān)資料,文中給出了詳細(xì)的示例代碼,對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編一起來學(xué)習(xí)學(xué)習(xí)吧。2017-05-05從頭寫React-like框架的工程搭建實(shí)現(xiàn)
這篇文章主要介紹了從頭寫React-like框架的工程搭建實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04引入代碼檢查工具stylelint實(shí)戰(zhàn)問題經(jīng)驗(yàn)總結(jié)分享
eslint的配置引入比較簡(jiǎn)單,網(wǎng)上有比較多的教程,而stylelint的教程大多語焉不詳。在這里,我會(huì)介紹一下我在引入stylelint所遇到的坑,以及解決方法2021-11-11