0

在我的路線反應過來,就已經被映射的組件,如如何在反應路由器中問號後獲取參數?

<Route path="/search/:id" component={Search}/> 

所以,我期待像搜索/牛仔褲,或搜索/襯衫的URL。但在某些場合我得到一個URL格式,如:

/search/?text=shirts 

對此我無法處理。請建議我如何處理這個問題。我想從該URL中獲得「襯衫」的價值。如何讓現有的路線來處理這個不同的網址?

+0

你[不能](https://github.com/ReactTraining/react-router/issues/4410)了。請參閱下面的解釋。 –

回答

1

不幸的是,解析查詢字符串的能力是taken out of V4。您可以選擇使用哪種方法。 第三方包:

const queryString = require('query-string'); 

const parsed = queryString.parse(props.location.search); 

或者使用內置:

const params = new URLSearchParams(props.location.search); 

const foo = params.get('foo'); // bar 

和URLSearchParams,也存在任何兼容性polyfill