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)到登錄頁(yè)面(10000表示接口返回token過期),但是像上面這樣使用路由,該怎么在組件外面(例如axios的邏輯中)做路由跳轉(zhuǎn)呢。
目前看這種方法好像無(wú)法做跳轉(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)倒計(jì)時(shí)功能組件
這篇文章主要為大家詳細(xì)介紹了如何通過React實(shí)現(xiàn)一個(gè)倒計(jì)時(shí)功能組件,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解下2023-09-09
React.js入門實(shí)例教程之創(chuàng)建hello world 的5種方式
React 是近期非常熱門的一個(gè)前端開發(fā)框架。應(yīng)用非常廣泛,接下來(lái)通過本文給大家介紹React.js入門實(shí)例教程之創(chuàng)建hello world 的5種方式 ,需要的朋友參考下吧2016-05-05
React中的權(quán)限組件設(shè)計(jì)問題小結(jié)
這篇文章主要介紹了React中的權(quán)限組件設(shè)計(jì),整個(gè)過程也是遇到了很多問題,本文主要來(lái)做一下此次改造工作的總結(jié),對(duì)React權(quán)限組件相關(guān)知識(shí)感興趣的朋友一起看看吧2022-07-07
React函數(shù)組件和類組件的區(qū)別及說(shuō)明
這篇文章主要介紹了React函數(shù)組件和類組件的區(qū)別及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08
使用React Native創(chuàng)建以太坊錢包實(shí)現(xiàn)轉(zhuǎn)賬等功能
這篇文章主要介紹了使用React Native創(chuàng)建以太坊錢包,實(shí)現(xiàn)轉(zhuǎn)賬等功能,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-07

