我在我的项目中使用react-router-dom 4.0.0-beta.6。我有一个代码如下:
<Route exact path="/home" component={HomePage}/>
我想在HomePage
组件中获取查询参数。我找到了location.search
参数,如下所示:?key=value
,因此未解析。
什么是正确的方法来获得查询参数与反应路由器v4?
给出的答案是肯定的。
如果您想使用qs模块而不是query-string(它们的受欢迎程度大致相同),以下是语法:
const query = qs.parse(props.location.search, {
ignoreQueryPrefix: true
})
忽略前导问号的选项是忽略前导问号。
另一个有用的方法是像这样使用现成的URLSearchParams
;
let { search } = useLocation();
const query = new URLSearchParams(search);
const paramField = query.get('field');
const paramValue = query.get('value');
干净,易读,不需要模块。更多信息在下面;
解析查询字符串的功能已从V4中删除,因为多年来一直有支持不同实现的请求。因此,团队决定最好由用户决定该实现是什么样子。我们建议导入查询字符串库。这是我用的
const queryString = require('query-string');
const parsed = queryString.parse(props.location.search);
如果您想要一些本地的东西,并且它能满足您的需要,您也可以使用新的URLSearchParams
const params = new URLSearchParams(props.location.search);
const foo = params.get('foo'); // bar
你可以在这里阅读更多关于这个决定的信息
问题内容: 从服务器重定向后,如何在我的routes.jsx文件中定义路由以从Twitter的单点登录过程生成的URL 捕获参数值? 我尝试使用以下路由配置,但没有捕获上述参数: 问题答案: 反应路由器v3 React Router已经为您解析了位置并将其作为道具传递给RouteComponent。您可以通过访问查询(在URL中的?之后)部分 如果要查找路径参数值(在路由器内部用冒号(:)分隔),
我想使搜索页面后,我点击它的按钮将被重定向到另一个页面。这一页将是这样的 还有我的路由器看起来像这样 问题是如何在Vue中获取目标页面中的查询值。JS3?这个答案仍然让我困惑,因为没有使用CompositionAPI,也没有在VueJS3中使用
问题内容: 我正在构建一个通用的Web服务,需要将所有查询参数都转换为一个字符串以供以后解析。我怎样才能做到这一点? 问题答案: 您可以通过上下文访问单个参数,也可以通过上下文访问所有参数: 关键是 jax-rs批注,可用于访问: UriInfo,请求,HttpHeaders,SecurityContext,提供程序
如何在Vue中获取查询参数。js? 例如,。 找不到获取的方法,或者我需要为此使用纯JS或一些库吗?
如何在我的routes.jsx文件中定义一个路由来捕获参数值,这些参数值是在从服务器重定向后由Twitter的单点登录进程生成的URL中获得的? 我尝试了以下路由配置,但未捕获提到的参数:
问题内容: 我在客户端上为我的应用程序使用react和react-router。我似乎无法弄清楚如何从如下网址获取以下查询参数: 我的路线如下所示(我知道该路线完全错误): 我的路线工作正常,但我不确定如何格式化路径以获取所需的参数。感谢任何帮助! 问题答案: 注意:复制/粘贴评论。确保喜欢原始帖子! 编写es6并使用react 0.14.6 / react-router 2.0.0-rc5。我使