alan89757 / react-router-analysis

react-router使用与源码分析
MIT License
0 stars 0 forks source link

React-Router怎么获取URL的参数? #2

Open alan89757 opened 3 years ago

alan89757 commented 3 years ago

路由传值的几种方式

1.get传值 如:'admin?id='1111''
使用this.props.location.search,也可以用url,qs,querystring,浏览器提供的api URLSearchParams对象(do not need to support IE and do not contain array or object)或者自己封装的方法去解析出id的值。

2.动态路由传值 如'admin/111' 通过this.props.match.params.id 取得url中的动态路由id部分的值,除此之外还可以通过useParams(Hooks)来获取

3.通过query或state传值 传参方式如:在Link组件的to属性中可以传递对象{pathname:'/admin',query:'111',state:'111'}; 通过this.props.location.state或this.props.location.query来获取即可,传递的参数可以是对象、数组等,但是存在缺点就是一刷新页面,参数就会丢失