首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >React:默认情况下,useQueries不对嵌套查询对象进行字符串化:使用自定义的stringifyQuery函数

React:默认情况下,useQueries不对嵌套查询对象进行字符串化:使用自定义的stringifyQuery函数
EN

Stack Overflow用户
提问于 2016-04-19 17:09:56
回答 1查看 958关注 0票数 1

我正在尝试构建一个URL作为React NavLink (从react-router-tutorial中借用的组件)的目标,但是我正在为向" to“接口属性添加查询字符串的语法而苦苦挣扎。

代码语言:javascript
复制
render: function(){
      urlParms = {show: "imagename"},

    return <NavLink to={{ pathname: 'image-viewer', query: { urlParms } }} className="nav-link">{this.props.data}</NavLink>

使用上面的代码,查询显示为image-viewer?urlParms%5Bobject+Object%5D,Chrome的开发工具为链接发出上面的错误。

如何编写“自定义stringifyQuery函数”,以及将其部署在哪里?如果我把query: { show: "imagename" }放在上面的位置,它就会工作得很好。

EN

回答 1

Stack Overflow用户

发布于 2016-04-23 03:57:09

你不需要用大括号括起你的urlParms对象(顺便说一句,你可能应该重命名它,读起来像个拼写错误:)。

现在发生的情况是,传入NavLinkto属性的query对象如下所示:

代码语言:javascript
复制
{ urlParms: { show: "imagename" } }

你需要的只是:

代码语言:javascript
复制
  return <NavLink to={{ pathname: 'image-viewer', query: urlParms }} className="nav-link">{this.props.data}</NavLink>

您可以将其重命名为query并使用ES6速记,因为您似乎可以使用它:

代码语言:javascript
复制
  let query = { show: "imagename" }

  return <NavLink to={{ pathname: 'image-viewer', query }} className="nav-link">{this.props.data}</NavLink>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36713791

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档