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