javascript - 如何获取React Router中问号后面的参数?

标签 javascript reactjs react-router react-redux react-router-v4

在我的 route 使用react,我已经映射了如下组件

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

所以,我期待一个类似 search/jeans 或 search/shirts 的 URL。但在某些情况下,我会得到像

这样的 URL 模式
/search/?text=shirts

这是我无法处理的。请建议我如何继续此操作。我想从该 URL 获取“衬衫”的值。如何让现有路由来处理这个不同的 URL?

最佳答案

解析查询字符串的能力为taken out of V4很遗憾。您可以选择使用哪种方法。 第 3 方包:

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为了兼容性。

关于javascript - 如何获取React Router中问号后面的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45976295/

相关文章:

javascript - 在 Firefox 中将对象转换为字符串

javascript - 如何在行的 onClick 上而不是在 onMouseLeave 之后将 rowClassName 添加到 antd 表中的特定行

javascript - 如何使用 React Router 将 div 放入 Switch 中?

javascript - 当前面有html时获取JQuery结果

javascript - 如何解析包含 UTF-8 字符的 Content-Disposition header

javascript - Cordova 插件 x509store

javascript - Javascript 中按键事件的限制

reactjs - React JS UI 的 Backbone 路由器

React-router transitionTo 不是一个函数

reactjs - 无法读取未定义的属性 ‘params’ (React Router 4)