• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • YouClaw
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
wn0615
博客园    首页    新随笔    联系   管理    订阅  订阅

路由 -react-router-dom16

传统的路由搭建过于麻烦,整合力度不够,但是函数组件推出以后,路由表的建立与vue的路由有点兄弟的意思:

// import {lazy} from "react";
import Home from "../pages/Home";
import Searched from "../pages/Search";
import Tuijian from "../component/Home/Tuijian";
import Geshou from "../component/Home/Geshou";
import Paihang from "../component/Home/Paihang";
import Zixun from "../component/Home/Zixun";
import Login from '../pages/Login'
import Zhuce from '../pages/Zhuce'
import GeDan from "../pages/GeDan";
import Mine from "../pages/Mine";
// const GeDan=lazy(()=>import("../pages/GeDan"));
//用于重定向
import {Navigate} from 'react-router-dom'

//eslint-disable-next-line
export default [
{
path: '/home',
element: <Home/>,
children: [
{
path: 'tuijian',
element: <Tuijian/>
},
{
path: 'geshou',
element: <Geshou/>
},
{
path: 'paihang',
element: <Paihang/>
},
{
path: 'zixun',
element: <Zixun/>
},
{
path: '/home',
element: <Navigate to='/home/tuijian'/>
}
]

},
{
path: '/search',
element: <Searched/>
},
{
path: '/gedan',
element: <GeDan/>
},
{
path: '/login',
element: <Login/>
},
{
path: '/zhuce',
element: <Zhuce/>
},
{
path: '/mine',
element: <Mine/>
},
{
path: '/',
element: <Navigate to='/home'/>
}
]
//调用:
import {useRoutes} from "react-router-dom";
import route from "./router";

export default function App() {
const element = useRoutes(route)
return (
<div className='box'>
{element}
</div>
)
}
//有子路由的需要引入Outlet来展示子组件
import {outlet} from 'react-router-dom'
//调用:<Outlet/>就是子组件展示的地方

<Outlet/>

posted @ 2022-07-12 10:54  大宁0615  阅读(56)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3