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

相关推荐
aiweker3 分钟前
python web开发-Flask数据库集成
前端·python·flask
暴怒的代码9 分钟前
解决Vue2官网Webpack源码泄露漏洞
前端·webpack·node.js
老刘忙Giser22 分钟前
C# Process.Start多个参数传递及各个参数之间的空格处理
java·前端·c#
阿珊和她的猫1 小时前
组件之间的双向绑定:v-model
前端·javascript·vue.js·typescript
爱分享的程序员1 小时前
Node.js 实训专栏规划目录
前端·javascript·node.js
阿迪州2 小时前
iframe作为微前端方案的几个问题
前端·面试
我就是避雷针小鬼啊2 小时前
vue2组件库规划
前端
Burt2 小时前
#🎉 unibest 3.0 发布了!看看都更新了啥好用的功能\~
前端·uni-app
星垂野2 小时前
JavaScript 执行栈和执行上下文详解
前端·javascript