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。如果有错误的地方希望大家评论。

相关推荐
神明不懂浪漫几秒前
【第三章】CSS(一)——基础选择器、CSS的属性
前端·css·html·css3
IVEN_9 分钟前
本地正常,Docker 怎么就空白:Next.js SSR 的 Alpine musl DNS 陷阱
前端·docker·next.js
凡人叶枫9 分钟前
Effective C++ 条款24:若所有参数皆须要类型转换,请为此采用 non-member 函数
linux·前端·c++·算法·嵌入式开发
用户8876654266311 分钟前
Web3 前端实时通信如何落地:从 SSE 订阅到行情、订单与账户状态更新
前端·react.js·web3
an3174214 分钟前
使用 LangGraph + DeepSeek 构建 AI 面试官:状态图设计与实践
前端·ai编程
代码不加糖15 分钟前
MessageChannel是什么,有什么使用场景?
前端·javascript
小小龙学IT19 分钟前
HTMX:让 HTML 重新成为前端核心的超轻量动态交互库
前端·html·交互
星栈20 分钟前
写 Makepad Demo 不难,难的是把它写成项目
前端·rust
用户0595401744621 分钟前
localStorage清除策略踩坑实录:一个过期的token让我排查了3小时
前端·css
Nanachi23 分钟前
跨框架的前端源码定位,再加上点LLM
前端