react-route-dom@6

1.简单的路由使用

我们之前学习类组件的时候用的5版本的react-route-dom,现在我们用6去实现我们之前的案例。

​编辑

​编辑

这两个图中的代码给我们展示了,注册路由用

​编辑

这种方式去注册路由,而Link链接或者NavLink链接改变的在后者,高亮效果的实现,不能像之前一样用active属性,被移除了,我们需要用回调函数的返回值,三元表达式去通过isActive?是否被选择来去设置不同的样式,是否展示高亮。

​编辑

但是这种非常的繁琐,如果都是通用的样式,我们优化一下。

​编辑

用一个函数替代我们在标签内写函数体,这样可以多个NavLink引用同一个函数样式。

​编辑

还有在注册路由的时候可以去用Navigate这个方法去设置当前路径为/的时候,直接跳转到about。

2.嵌套路由以及传参

​编辑

这是使用useRoutes()方法之后,我们把路由表单独写在routes文件,这里用children写子路由。

​编辑

然后App组件用useRoutes(routes)拿到路由表然后注册路由。用{element}在页面展示出路由。

​编辑

在路由表注册好子组件,我们用去指定页面呈现位置。我们在这个组件使用了三种路由组件传递参数的方式。

​编辑

​编辑

也添加一个按钮点击展示路径对应的路由并且传递参数。这里用的state参数。我们并不总是用Link标签或者NavLink标签去改变路径。

注意,当我们用

​编辑

用这种params方式传参的话,需要在注册组件的地方声明我们接收的key

​编辑

。。。传参过后子组件接收参数并且展示

​编辑

用这些函数的方法去获取到各种方式传过来的参数。

这些就是react-route-dom的常用方法以及Hook。如果有错误的地方希望大家评论。

相关推荐
cyadyx35 分钟前
Vite 比 Webpack 构建效率更高
前端·webpack·node.js·vite
mCell2 小时前
AI 时代 SVG 画图的潜力
前端·agent·svg
我命由我123458 小时前
CesiumJS 笔记 - 获取容器中心点、Cartesian3 clone 方法、修改 Cartesian3 对象的高度
前端·javascript·css·前端框架·html·html5·js
Hopebearer_9 小时前
页面突然只剩 DOM?一次静态资源版本错配排查
前端·部署
东风破_9 小时前
ESLint 是什么?为什么你的项目需要它?
前端·后端·代码规范
圣殿骑士-Khtangc11 小时前
Go字符串高效拼接性能对比与底层原理分析
服务器·前端·golang
BigTopOne11 小时前
【ijkplayer】 硬解码流程
前端
kyriewen12 小时前
DeepSeek Harness开源第一天我就上手了——和Claude Code的差距比想象中大
前端·ai编程·deepseek
捡田螺的小男孩12 小时前
什么是 Skill?手把手带你写一个简单有用的 Skill!
前端·后端·程序员
IT_陈寒12 小时前
Redis集群这个坑,差点让我通宵
前端·人工智能·后端