react路由傳參的方式有好幾種,接下來大概講一下。
向路由組件傳輸params參數
-
首先需要在路由組件傳遞oarams參數,如下:
-
接下來需要在route中聲明接收params參數,如下:
-
然后在路由組件中接收params參數:
接着看實際變化和后台打印結果:
URL地址的變化:
props中接收的數據:
於是我們就可以拿到數據進行操作了。
向路由組件傳輸search參數
跟傳輸params參數一樣
-
需要在路由組件上傳輸search參數:
-
search參數不需要聲明
-
在路由組件中接收search參數
在這里需要注意,因為傳輸過來的search參數是字符串類型,如下:
所以我們需要將字符串形式轉換為key:value形式的對象,這時可以使用react中的一個庫,,它的使用方法與JSON類似,一個是
qs.stringify()
,能將對象轉換為key,value形式的字符串,中間用&連接。qs.parse()
能將key,value形式並且由&連接的字符串轉換為對象形式。於是我們可以這樣接收search參數
完工!
URL地址的變化:
向路由組件傳輸state參數
- 向路由組件中傳輸state參數:
2.state參數也不需要聲明參數
3.在路由組件中接收state參數:
看看URL變化和后台打印:
URL變化;
發現沒有,URL地址上面沒有顯示,表明會更安全一點。
后台打印:
歐了!!