8.React路由
创始人
2025-05-30 23:44:10

目前都是前端出路由与页面转换这种,后端只出接口

目录

1  安装 react-router-dom

2  简单使用

3  组件中改变路由(编程式导航)

4  模糊匹配与精确匹配

5  嵌套路由


1  安装 react-router-dom

目前手脚架中创建后没有react-router-dom,所以我们需要自己安装一下

v6与v5在使用上有些差别,视频中的介绍的是v5的使用方法,我文章中写的是v6的使用方法

  • 视频地址 92-路由的基本使用_哔哩哔哩_bilibili P92

之后我们进行导入,BrowerRouter,Route,Routes都不是形参,而是在React中它就叫这个名字

2  简单使用

  • Routes必须放在BrowserRouter中,Route必须放在Routes中
  • 每一次url变化都会按照书写顺序匹配所有的Route
  • BrowerRouter一个React项目中只使用一次,它的内部包含着关于React路由的所有东西
  • 可以使用HashRouter替代BrowerRouter,HashRouter的特点是url中存在 # ,比如 localhost:3000/#/first
  • Route的作用是让某个组件写在某个路由上

打开后可以看到页面一的内容

当访问/second时可以看到页面二的内容

之后我们再使用Link

  • Link写在Routes上方就会渲染再Routes上方,写在Routes下方就会渲染再Routes下方
  • link组件会被渲染成a标签,to属性的内容就是a标签的href

打开后就多了这样一个链接

点击后会将地址转到/second

3  组件中改变路由(编程式导航)

可以使用useNavigate,下面这种方法只能在 函数组件 中使用

  • v5中是通过props改变url,比如 this.props.history = "/login"

点击地址后会改变url

如果你将navigate()的参数搞为-1,那么它就会返回上一个你访问的页面

点击后可以返回

4  模糊匹配与精确匹配

在v5中默认情况下访问 /login会匹配上 /

模糊匹配P97,精确匹配P98 97-匹配模式(1模糊匹配模式)_哔哩哔哩_bilibili

在v6中没有这种问题,默认情况下就是精确匹配

5  嵌套路由

嵌套路由相对于v5有一些区别,我们举个v6的例子,现在我们要有/home/这个路由,也要有/home/news这个路由

文件结构是下面这样的

首先在App.js中创建第一级/home路由,这里一定要加入*

然后在文件夹Home中的index.js创建news路由

文件夹News中的index.js是这样的

/home路由打开后是这样的

访问/home/news,既会出现home的内容,也会出现news的内容

相关内容

热门资讯

科普实测“微乐北京麻将是不是有... 您好:微乐北京麻将这款游戏可以开挂,确实是有挂的,需要软件加微信【69174242】,很多玩家在微乐...
重大通报“新龙鳞大厅到底能开挂... 您好:新龙鳞大厅这款游戏可以开挂,确实是有挂的,需要软件加微信【5951795】,很多玩家在新龙鳞大...
重大通报“德扑之星其实的确有透... 您好:德扑之星这款游戏可以开挂,确实是有挂的,需要软件加微信【4194432】,很多玩家在德扑之星这...
独家分享.新毛豆互娱.怎么装挂... 您好:新毛豆互娱这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9752949】很多玩家在这款游...
「今日分享」新海狮究竟有没有挂... 您好:新海狮这款游戏可以开挂,确实是有挂的,需要了解加客服微信【3636476】很多玩家在这款游戏中...