react路由传参(3种方式)

非 Y 不嫁゛ 提交于 2020-01-08 11:07:22

1、params传参

路由页面:<Route path='/demo/:id' component={Demo}></Route>  //配置 /:id
路由跳转并传递参数:
    链接方式:<Link to={'/demo/' + '2'}>XX</Link>
    js方式:this.props.history.push('/demo/' + '2')  
获取参数:this.props.match.params.id

2、query传参

路由页面:<Route path='/demo' component={Demo}></Route>  //无需配置
路由跳转并传递参数:
    链接方式:<Link to={{path:'/demo',query:{name:'dahuang'}}}>XX</Link>
    js方式:this.props.history.push({pathname:'/demo',query:{name:'dahuang'}})
获取参数: this.props.location.query.name

3、state传参( 同query差不多,只是属性不一样,而且state传的参数是加密的,query传的参数是公开的,在地址栏)

路由页面:<Route path='/demo' component={Demo}></Route>  //无需配置
路由跳转并传递参数:
    链接方式: <Link to={{path:'/demo',state:{name:'dahuang'}}}>XX</Link> 
    js方式:this.props.history.push({pathname:'/demo',state:{name:'dahuang'}})
获取参数: this.props.location.state.name
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!