這篇文章主要介紹“react router如何傳參”的相關(guān)知識(shí),小編通過(guò)實(shí)際案例向大家展示操作過(guò)程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“react router如何傳參”文章能幫助大家解決問(wèn)題。
成都創(chuàng)新互聯(lián)專注于企業(yè)全網(wǎng)整合營(yíng)銷推廣、網(wǎng)站重做改版、陳巴爾虎網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5技術(shù)、商城網(wǎng)站制作、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為陳巴爾虎等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。
react router傳參的方法:1、利用通配符傳參,只能傳字符串,在刷新頁(yè)面時(shí)參數(shù)不會(huì)丟失;2、利用query傳參,可以傳對(duì)象,但是刷新頁(yè)面會(huì)導(dǎo)致參數(shù)丟失;3、利用state傳參,可以傳對(duì)象、數(shù)組等,一旦刷新頁(yè)面參數(shù)就會(huì)丟失。
本教程操作環(huán)境:Windows10系統(tǒng)、react17.0.1版、Dell G3電腦。
react router路由傳參三種方式:通過(guò)通配符傳參、query傳參和state傳參。
1、通配符傳參
Route定義方式:
<Route path='/path/:name' component={Path}/>
Link組件:
<Link to="/path/通過(guò)通配符傳參">通配符</Link>
參數(shù)獲?。?/p>
this.props.match.params.name
優(yōu)點(diǎn):簡(jiǎn)單快捷,并且,在刷新頁(yè)面的時(shí)候,參數(shù)不會(huì)丟失。
缺點(diǎn):只能傳字符串,并且,如果傳的值太多的話,url會(huì)變得長(zhǎng)而丑陋。
如果,你想傳對(duì)象的話,可以用JSON.stringify(),想將其轉(zhuǎn)為字符串,然后另外的頁(yè)面接收后,用JSON.parse()轉(zhuǎn)回去。
2、query
Route定義方式:
<Route path='/query' component={Query}/>
Link組件:
var query = {undefined pathname: '/query', query: '我是通過(guò)query傳值 ' }
<Link to={query}>query</Link>
參數(shù)獲取:
this.props.location.query
優(yōu)點(diǎn):優(yōu)雅,可傳對(duì)象
缺點(diǎn):刷新頁(yè)面,參數(shù)丟失
3、state
Route定義方式:
<Link to={state}>state</Link>
Link組件:
var state = {undefined pathname: '/state', state: '我是通過(guò)state傳值' } <Route path='/state' component={State}/>
參數(shù)獲?。?/p>
this.props.location.state
這里的this.props.location.state === '我是通過(guò)query傳值'
優(yōu)點(diǎn):優(yōu)雅,可傳對(duì)象
缺點(diǎn):刷新頁(yè)面,參數(shù)丟失
關(guān)于“react router如何傳參”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。
網(wǎng)頁(yè)名稱:reactrouter如何傳參
分享URL:http://aaarwkj.com/article42/iggdec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、Google、自適應(yīng)網(wǎng)站、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站排名、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)