50.React跳转路由传参3种方法和区别
1.路由表配置:参数地址栏显示
<Route path="/list/:id" component={List} />
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)//传递过来的所有参数
不存在一劳永逸的技术,唯有坚持不懈的努力.