react的路由传参
react路由传参的方式有好几种,接下来大概讲一下。
向路由组件传输params参数
-
首先需要在路由组件传递oarams参数,如下:
![]()
-
接下来需要在route中声明接收params参数,如下:
![]()
-
然后在路由组件中接收params参数:
![]()
接着看实际变化和后台打印结果:
URL地址的变化:
props中接收的数据:
于是我们就可以拿到数据进行操作了。
向路由组件传输search参数
跟传输params参数一样
-
需要在路由组件上传输search参数:
![]()
-
search参数不需要声明
![]()
-
在路由组件中接收search参数
在这里需要注意,因为传输过来的search参数是字符串类型,如下:![]()
所以我们需要将字符串形式转换为key:value形式的对象,这时可以使用react中的一个库,
,它的使用方法与JSON类似,一个是qs.stringify(),能将对象转换为key,value形式的字符串,中间用&连接。qs.parse()能将key,value形式并且由&连接的字符串转换为对象形式。于是我们可以这样接收search参数

完工!
URL地址的变化:
向路由组件传输state参数
- 向路由组件中传输state参数:
![]()
2.state参数也不需要声明参数
3.在路由组件中接收state参数:

看看URL变化和后台打印:
URL变化;
发现没有,URL地址上面没有显示,表明会更安全一点。
后台打印:

欧了!!
行百里者半九十







浙公网安备 33010602011771号