react-router6.x路由配置及導(dǎo)航詳解
react-router6.x路由配置及導(dǎo)航
項目使用Vite進(jìn)行搭建
項目目錄

安裝
npm install react-router-dom
router/index.jsx
import Index from '@/pages/Index.jsx'
import Home from '@/pages/Home/Home.jsx'
import HomeLeft from '@/pages/Home/Home-left.jsx'
import HomeRight from '@/pages/Home/Home-right.jsx'
export default [
{
path: "/",
element: <Index />,
},
{
path: "/home",
element: <Home />,
children: [
{
index: true,
element: <HomeLeft />
},
{
path: '/home/home-right',
element: <HomeRight />,
}]
},
{ path: "*", element: <Index /> },
]App.jsx
import './App.less'
import React from 'react'
import { useRoutes } from "react-router-dom"
import router from "@/router"
function App() {
const element = useRoutes(router)
return (
<div id='App'>
{element}
</div >
)
}
export default Appmain.jsx
import React from 'react'
import ReactDOM from 'react-dom'
import { BrowserRouter } from "react-router-dom"
import App from './App'
ReactDOM.render(
<BrowserRouter>
<App />
</BrowserRouter>,
document.getElementById('root')
)如果是嵌套路由需要加上<Outlet />標(biāo)簽
Home.jsx
import React from 'react'
import { Outlet, Link } from "react-router-dom"
export default () => {
return (
<div>
<Link to="/home">左</Link>
<Link to="/home/home-right">右</Link>
<Outlet />
</div>
)
}路由導(dǎo)航
攜帶一個參數(shù)id=1到home頁
import { Link, useNavigate } from "react-router-dom"
export default () => {
let navigate = useNavigate()
return (
<div>
<Link to="/home?id=1">a標(biāo)簽跳轉(zhuǎn)</Link>
<button onClick={() => navigate("/home?id=1")}>編程式跳轉(zhuǎn)</button>
</div>
)
}通過useSearchParams可以獲取鏈接上的id
import React from 'react'
import { Outlet, Link, useNavigate, useSearchParams } from "react-router-dom"
export default () => {
let navigate = useNavigate()
let [searchParams] = useSearchParams()
console.log(searchParams.get("id")) //1
return (
<div>
<button onClick={() => navigate(-1)}>后退</button>
<br />
<Link to="/home">左</Link>
<Link to="/home/home-right">右</Link>
<Outlet />
</div>
)
}總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
react-router-domV6版本的路由和嵌套路由寫法詳解
本文主要介紹了react-router-domV6版本的路由和嵌套路由寫法詳解,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03
30分鐘精通React今年最勁爆的新特性——React Hooks
這篇文章主要介紹了30分鐘精通React今年最勁爆的新特性——React Hooks,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-03-03
React在弱網(wǎng)環(huán)境下限制按鈕多次點擊,防止重復(fù)提交問題
這篇文章主要介紹了React在弱網(wǎng)環(huán)境下限制按鈕多次點擊,防止重復(fù)提交問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06
Jira 任務(wù)管理系統(tǒng)項目總結(jié)講解
這篇文章主要為大家介紹了Jira 任務(wù)管理系統(tǒng)項目總結(jié)講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08
react中的useImperativeHandle()和forwardRef()用法
這篇文章主要介紹了react中的useImperativeHandle()和forwardRef()用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08
React css-in-js基礎(chǔ)介紹與應(yīng)用
隨著React、Vue等支持組件化的MVVM前端框架越來越流行,在js中直接編寫css的技術(shù)方案也越來越被大家所接受。為什么前端開發(fā)者們更青睞于這些css-in-js的方案呢,下面帶你了解它2022-09-09

