安装
javascript
npm install react-router-dom
main.tsx中配置
javascript
import React from 'react'
import { RouterProvider } from 'react-router-dom'
import ReactDOM from 'react-dom/client'
import App from './App.tsx'
import 'normalize.css'
import './index.css'
import router from './router/index.ts'
ReactDOM.createRoot(document.getElementById('root')!).render(
<React.StrictMode>
<RouterProvider router={ router } >
<App />
</RouterProvider>
</React.StrictMode>,
)
router文件夹下index.ts路由表配置
javascript
import { createBrowserRouter } from "react-router-dom";
import Layout from "@/pages/layout/Layout";
import Login from "@/pages/login/Login";
import Home from "@/pages/home/Home";
import type { Routes } from '@/types/router'
const routes:Array<Routes> = [
{
path:'/',
//注意:这里C要大写
Component:Layout,
children:[
//react-router路由表配置没有redirect重定向,故此在这里多加一项Home配置,同样能达
//到重定向效果
{
path:'/',
Component:Home
},
{
path:'/home',
Component:Home
}
]
},
{
path:'/login',
Component:Login
}
]
const router = createBrowserRouter(routes)
export default router
App组件中使用
javascript
import { Outlet } from 'react-router-dom'
import "./App.less";
function App() {
return (
<div className="app">
<Outlet />
</div>
);
}
export default App;
获取路由路径 useLocation
编程式导航 useNavigate
获取路由参数 useParams