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的内容

相关内容

热门资讯

重大通报“微信链接拼三张究竟有... 您好:微信链接拼三张这款游戏可以开挂,确实是有挂的,需要了解加客服微信【5951795】很多玩家在微...
盘点一款“乐达大连麻将究竟有没... 您好:乐达大连麻将这款游戏可以开挂,确实是有挂的,需要软件加微信【3671900】很多玩家在这款游戏...
(今日资讯)“新版wepoke... 您好:新版wepoker这款游戏可以开挂,确实是有挂的,需要了解加客服微信【5848499】很多玩家...
今日重大通报“中至窝龙究竟有没... 您好:中至窝龙这款游戏可以开挂,确实是有挂的,需要软件加微信【69174242】,很多玩家在中至窝龙...
玩家必看“打两圈泰州麻将究竟有... 亲.打两圈泰州麻将这款游戏是可以开挂的,确实是有挂的,通过添加客服【3671900】很多玩家在这款游...