React跳轉路由傳參3種方法和區別


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傳參
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傳的參數是加密的)
state方法:參數地址欄不顯示,刷新地址欄,參數不丟失
路由頁面:<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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM