react route v6 使用流程

安装 react-router-dom

npm install react-router-dom

创建路由配置文件

src/router/index.ts

HashRouter 和 BrowserRouter 两种模式选择

  • HashRouter
// src/router/index.ts
import { useRoutes, Navigate } from 'react-router-dom'
import Login from '@/views/login/index'

interface MetaProps {
	keepAlive?: boolean;
	requiresAuth?: boolean;
	title: string;
	key?: string;
}

interface RouteObject {
	path?: string; // 路径
	element?: React.ReactNode; // 组件
	children?: RouteObject[]; // 子路由
	meta?: MetaProps; // 配置
	caseSensitive?: boolean; // 是否大小写敏感
    redirect?:string; // 重定向
    preload?:Function; // 用于在路由匹配之前加载数据或执行其他操作
    defer?:boolean; // 是否延迟加载
    location?:string; // 可以指定一个初始的位置对象,用于服务器端渲染等场景
    sensitive?:boolean; // 指定路由路径是否敏感
}

const routers: RouteObject[] = [
    {
        path: '/',
        element: <Navigate to='login' />
    },
    {
        path: '/login',
        element: <Login />
    }
])

const Router = () => {
    const route = useRoutes(routers)
    return route
}

export default Router
// App.tsx

import { HashRouter } from "react-router-dom";
import Router from "@/routers/index";

<HashRouter>
    <Router></Router>
</HashRouter>
  • BrowserRouter
// src/router/index.ts
import { createBrowserRouter } from 'react-router-dom'

const router = createBrowserRouter([
    {
        path: '/',
        element: <App />,
        children: routersChildren
    }
])

export default router
// main.tsx
import { RouterProvider } from 'react-router-dom';
import router from './router';

 <React.StrictMode>
   <Provider store={store}>
     <RouterProvider router={router}></RouterProvider>
   </Provider>
 </React.StrictMode>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值