# React Router页面传参的几种方式
# 一、地址栏传参
这种方式是最原始的传参
hashHistory.push('/user?name=jack')
1
然后可以通过
location.hash // 自己对字符串进行处理
1
# 二、match
在路由中指定参数
<Route path="/user/:name" component={User} />
1
路由跳转
hashHistory.push('/user/jack')
1
在User组件中获取参数
this.props.match.params.name
1
# 三、push传参
这种传参分为两种路由,分别是:HashRouter、BrowserRouter,两者都可以通过push传参
history.push({pathname: '/user', query: {}})
1
在HashRouter和BrowserRouter中,query或state或其他自定义的参数,都可以通过
this.props.location
1
去获取,而两者的区别是HashRouter存放的东西只要刷新页面就没了,而BrowserRouter可以存放在state里,刷新之后不会消失