当前位置:首页 >> 技术栈专业化分层 >> 【React-Router】嵌套路由,psp2000主题(react router 路由嵌套)

【React-Router】嵌套路由,psp2000主题(react router 路由嵌套)

cpugpu芯片开发光刻机 技术栈专业化分层 1
文件名:【React-Router】嵌套路由,psp2000主题 【React-Router】嵌套路由 1. 嵌套路由

在一级路由中又内嵌了其他路由,这种关系就叫做嵌套路由。

2. 嵌套路由配置

// @/page/About/index.jsconst About = () => {return (<div>二级路由 About 组件</div>)}export default About // @/page/Layout/index.jsimport { Outlet, Link } from "react-router-dom"const Layout = () => {return (<div>一级路由 Layout 组件<Link to="/about">About</Link>{/* 2. 配置二级路由出口 */}<Outlet></Outlet></div>)}export default Layout // @/router/index.jsimport Login from '../page/Login'import Article from '../page/Article'import { createBrowserRouter } from 'react-router-dom'import Layout from '../page/Layout'import About from '../page/About'const router = createBrowserRouter([{path: '/login',element: <Login></Login>},{// `/:id/:name` 占位符path: '/article/:id/:name',element: <Article></Article>},{path: '/',element: <Layout></Layout>,// 1. 使用 children 属性配置路由嵌套关系children: [{path:'about',element: <About></About>}]}])export default router

3. 默认二级路由

当访问的是一级路由时,默认的二级路由组件可以得到渲染。

以下案例希望设置面板组件为二级默认组件得到渲染。

// @/page/Layout/index.jsimport { Outlet, Link } from "react-router-dom"const Layout = () => {return (<div>一级路由 Layout 组件{/* 配置二级路由出口 */}<Link to="/about">About</Link>{/* 2. 相当于根目录即可渲染 Board */}<Link to="/">Board</Link><Outlet></Outlet></div>)}export default Layout // @/router/index.jsimport Login from '../page/Login'import Article from '../page/Article'import { createBrowserRouter } from 'react-router-dom'import Layout from '../page/Layout'import About from '../page/About'import Board from '../page/Board'const router = createBrowserRouter([{path: '/login',element: <Login></Login>},{// `/:id/:name` 占位符path: '/article/:id/:name',element: <Article></Article>},{path: '/',element: <Layout></Layout>,children: [{path:'about',element: <About></About>},// 1. 设置为默认二级路由,一级路由访问的时候,也可以得到渲染。去掉path,设置index属性为true。{index: true,element: <Board></Board>}]}])export default router

4. 404 路由配置 // 写在 router 底部,兜底配置{path: '*',element: <NotFound></NotFound>} 5. 两种路由模式

各个主流框架的路由常用的路由模式有俩种,history 模式和 hash 模式, ReactRouter分别由 createBrowerRouter 和 createHashRouter 函数负责创建

路由模式url表现底层原理是否需要后端支持historyurl/loginhistory 对象 + pushState 事件需要hashurl/#/login监听 hashChange 事件不需要
协助本站SEO优化一下,谢谢!
关键词不能为空
同类推荐
«    2025年12月    »
1234567
891011121314
15161718192021
22232425262728
293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接