react路由的使用

安装

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

相关推荐
西洼工作室5 分钟前
React TabBar切换与高亮实现
前端·javascript·react.js
belldeep8 分钟前
前端:Bootstrap 3.0 , 4.0 , 5.0 有什么差别?
前端·bootstrap·html
wuhen_n14 分钟前
Tool Schema 设计模式详解
前端·javascript·ai编程
码喽7号14 分钟前
Vue学习三:element-plus组件和FontAwesome图标组件
前端·vue.js·学习
2501_9159184115 分钟前
WebKit 抓包,WKWebView 请求的完整数据获取方法
android·前端·ios·小程序·uni-app·iphone·webkit
mcooiedo16 分钟前
Go-Gin Web 框架完整教程
前端·golang·gin
小陈工17 分钟前
Python Web开发入门(一):虚拟环境与依赖管理,从零搭建纯净开发环境
开发语言·前端·数据库·git·python·docker·开源
wuhen_n17 分钟前
排列算法完全指南 - 从全排列到N皇后,一套模板搞定所有排列问题
前端·javascript·算法
Cobyte17 分钟前
微信 ClawBot 接入本地 AI Agent 的实现原理
前端·agent·ai编程
@大迁世界17 分钟前
15.React 中的 Fragment 是什么?它出现的动机是什么?
前端·javascript·react.js·前端框架·ecmascript