react-router-dom v6 使用

react及相关版本:
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-router": "^6.4.2",
"react-router-dom": "^6.4.2"
 
实现嵌套路由:
目录结构:
 
main.jsx
复制代码
import React from 'react'
import ReactDOM from 'react-dom/client'
import App from './App'
import { BrowserRouter } from 'react-router-dom';

ReactDOM.createRoot(document.getElementById('root')).render(
  <BrowserRouter>
    <App />
  </BrowserRouter>
)
复制代码

 

App.jsx

复制代码
import { useRoutes } from 'react-router-dom';
import { routes } from './router';

function App() {
  return (
    <div className="App">
        {useRoutes(routes)}
    </div>
  )
}

export default App
复制代码

 

router/index.jsx

复制代码
import Login from '../pages/login/index';
import Register from '../pages/register/index';
import Main from '../pages/main/index';
import Home from '../pages/home/index';
import Invite from '../pages/invite/index';
import NotFound from '../pages/not-found/index';

export const routes = [
  {
    path: '/login',
    element: <Login />,
  },
  {
    path: '/register',
    element: <Register />,
  },
  {
    // 子路由添加 * 号
    path: '/main/*',
    element: <Main />,
    // 定义二级路由,注意不要加 /
    children: [
      {
        path: 'home',
        element: <Home />,
      },
      {
        path: 'invite',
        element: <Invite />,
      },
      {
        path:'*',
        element:<NotFound/>
      }
    ],
  },
  {
    path:'*',
    element:<NotFound/>
  }
]
复制代码

 

效果:

 

 

 

 

posted @   Zion0707  阅读(213)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
历史上的今天:
2020-10-20 echarts区间柱形图
点击右上角即可分享
微信分享提示