通过params方式传递
通过params参数向路由组件传递参数。传递时像写多级路由一样,路由组件需要用:id :name来接收
let obj = {id:'001', name:'gailun'}
<Link to={`/home/${obj.id}/${obj.name}`}>{obj.name}</Link>
<Route path='/home/:id/:name' component={Home}/>
接收之后,存放在组件的this.props.match.params中,将其取出并渲染
render(){
const {id, name} = this.props.match.params
return (
<div>id: {id}, name: {name}</div>
)
}
通过search方式传递
此方式与url的query方式传参无异,接收时无需声明
let obj = {id:'001', name:'gailun'}
<Link to={`/home/?id=${obj.id}&name=${obj.name}`}>{obj.name}</Link>
<Route path='/home' component={Home}/>
最终参数放在了this.props.location.sea