react-router基本使用
创始人
2024-03-19 09:45:05
0

react-router 的基本使用

react-router-dom

react-router 提供了路由核心 api。如 Router, Route, Switch 等,但没有提供有关 dom 操作进行路由跳转的 api。
react-router-dom 提供了 BrowserRouter、Route、Link 等 api,可以通过 dom 操作触发事件控制路由。
react-router-dom 中依赖了 react-router,所以安装的时候只要安装 react-router-dom。
安装

npm install react-router-dom --save

如果安装版本在 >=6, Switch -->Routes
v5 版本的文档: https://v5.reactrouter.com/web/guides/quick-start
v6 git 地址: https://github.com/remix-run/react-router

基本集成步骤

  1. 在 index.js 中

import { BrowserRouter } from "react-router-dom";
root.render(
);
  1. app.js 文件
import { Routes, Route, Outlet, Link } from "react-router-dom";
// 其中 Routes 相当于v5的 Switch ,Outlet嵌套路由,index 配置默认首页路由

}>}>} />

以上是基本路由配置
3. 页面中匹配子路由
修改 app.js中的路由配置,新增tabs,在tabs页面中新增两个子路由tabOne,tabTwo
注:tabs路由配置path=“/tabs/*”,一定加 *,否则无法匹配到子路由

}>}>}>} />

tabs 页面配置,默认展示tabOne页面

const Tab = function () {return (
}>}>
) } // 因为 添加的是 tabs/* 所以 }> path的/不能省略

3.1 嵌套路由,见github 中example/basic/src/App.tsx

以下为完整代码
app.jsx

function App () {// 整体接口 左边是菜单,右边是详细的针对布局return (
}>}>{/* 根据下面自己路由进行 切换 */}}>} />
); }

其中 Route 中 index 为默认渲染页面,tabs/*代码下面有子路由
tabs页面

import tabs from "@/style/tab.module.scss"
import OneTabChild from './tabChilds/one'
import TwoTabChild from './tabChilds/two'
import { Route, Routes, Link, Outlet } from "react-router-dom"const Tab = function () {return (
}>{/* 嵌套路由使用方法 */}}>}/>} />
) }function TabOne () {return
这是tabOne
}function TabTwo () {return (
这是tabTwo{/* 这是渲染嵌套路由的例子 */}
) }export default Tab

相关内容

热门资讯

中国推进生态环境损害赔偿制度改... 中新社北京12月26日电 (记者 阮煜琳)今年是推进生态环境损害赔偿制度改革十周年。中国生态环境部新...
省内首家!镇江市银行业人民调解... 现场 扬子晚报网12月26日讯(通讯员 余建军 钱璐 记者 万凌云 姜天圣)12月25日上午,镇江市...
爱泼斯坦案涂黑文件仅需复制粘贴... 近日,美国司法部网站公布了爱泼斯坦案文件,其中大量文件内容被涂黑。然而,有消息指出,一些被涂黑的文件...
原创 《... 12月26日,电视剧《剥茧》官宣定档,12月29日起,优酷上线开播。这部电视剧由罗云熙、刘雅瑟等演员...
富安娜理财纠纷背后:中信证券拿... 历时三年,家纺龙头富安娜(002327.SZ)与中信证券(600030.SH)的理财委托纠纷,终于有...
保剑锋方发布律师声明!否认“出... 搜狐娱乐讯 26日,保剑锋转发了工作室发布的律师声明,否认“出轨”“妈宝男”等传闻:“近期,部分网络...
带走82岁南博原院长徐湖平 法... 问道者 | 李 百 领导了南京博物院23年的徐湖平终于在退休17年后被带走了,这个声称“三不原则”的...
沪深联手打造首届跨境商事调解大... 近日,首届“和・界”跨境商事调解大赛决赛在上海北外滩圆满收官。作为国内首个聚焦跨境商事调解领域的创新...
博世科(300422)披露累计... 截至2025年12月26日收盘,博世科(300422)报收于4.63元,较前一交易日下跌1.28%,...
外交部:日本从网络防御政策转向... 12月26日,外交部发言人林剑表示,日本大幅扩建网军,新出台的网络法案和战略名为“主动防御”,实则为...