完整版:https://www.cnblogs.com/yangyangxxb/p/10066650.html
7、react怎么通过路由传参?
a、通配符传参(刷新页面数据不丢失)
//在定义路由的时候
<Route path='/path/:自己起个名字' component={Path}/>
//在路由点击跳转的时候
<Link to="/path/你要传的参数">通配符</Link>
//另一个页面接收传来的参数
this.props.match.params.你起的名字
举个🌰

另一个页面接收值的时候:
this.props.match.params.id
b、query传参(刷新页面数据丢失)
//路由定义
<Route path='/query' component={Query}/>
//跳转的时候
var query = {
pathname: '/query',
query: '我是通过query传值 '
}
<Link to={query}>query</Link>
//另一个页面使用的时候
this.props.location.query
这里的this.props.location.query === '我是通过query传值'
c、state传参(刷新页面数据丢失,同query差不多,只是属性不一样,而且state传的参数是加密的,query传的参数是公开的)
//Route定义
<Link to={state}>state</Link>
//使用的时候
var state = {
pathname: '/state',
state: '我是通过state传值'
}
<Route path='/state' component={State}/>
//另一个页面获取值的时候
this.props.location.state
这里的this.props.location.state === '我是通过query传值'
d、路由?传参数

此处的foodmenu通过路由?后面传参数
在另一个页面的this.props.location.search可以获取到 "?id=6"

浙公网安备 33010602011771号