50.React跳转路由传参3种方法和区别

1.路由表配置:参数地址栏显示

html:<Link to='/list/2' >跳转列表页面</Link>

Js: this.props.history.push('/list/2');

List页面接收:

console.log(this.props.match.params.id)//传递过来的所有参数

2.query方法:参数地址栏不显示,刷新地址栏,参数丢失

html:

<Link to={{ pathname: '/list', query: { name: 'xlf' } }}>跳转列表页面</Link>

Js方式:this.props.history.push({ pathname: '/list', query: { name: ' sunny' } })

List页面接收:

console.log(this.props.location.query.name)//传递过来的所有参数

3.state方法:参数地址栏不显示,刷新地址栏,参数不丢失

Html: <Link to={{ pathname: '/list', state: { name: 'xlf' } }}>跳转列表页面</Link>

js:this.props.history.push({ pathname: '/list', state: { name: 'sunny' } })

List页面接收

console.log(this.props.location.state.name)//传递过来的所有参数