Reactjs 反应:默认情况下,useQueries不会字符串化嵌套查询对象:使用自定义字符串化查询函数

Reactjs 反应:默认情况下,useQueries不会字符串化嵌套查询对象:使用自定义字符串化查询函数,reactjs,react-router,Reactjs,React Router,我试图建立一个URL,用作React-NavLink(从React-router教程中借用的组件)的目标,但我正在努力解决向“to”API属性添加查询字符串的语法问题 render: function(){ urlParms = {show: "imagename"}, return <NavLink to={{ pathname: 'image-viewer', query: { urlParms } }} className="nav-link">{this

我试图建立一个URL,用作React-NavLink(从React-router教程中借用的组件)的目标,但我正在努力解决向“to”API属性添加查询字符串的语法问题

render: function(){
      urlParms = {show: "imagename"},

    return <NavLink to={{ pathname: 'image-viewer', query: { urlParms } }} className="nav-link">{this.props.data}</NavLink>
render:function(){
urlParms={show:“imagename”},
返回{this.props.data}
使用上述代码,查询将显示为
image viewer?urlParms%5Bobject+Object%5D
,Chrome的开发工具会为链接发出上述错误


如何编写“自定义stringifyQuery函数”,以及在何处部署它?如果我将
查询:{show:“imagename”}
放在上面的位置,它就可以正常工作。

您不需要在
urlParms
对象周围使用大括号(顺便说一句,您可能应该重命名它,读起来像输入错误:)

现在发生的情况是,传递到
NavLink
to
道具中的
查询
对象如下所示:

{ urlParms: { show: "imagename" } }
您需要的只是:

  return <NavLink to={{ pathname: 'image-viewer', query: urlParms }} className="nav-link">{this.props.data}</NavLink>
返回{this.props.data}
您可以将其重命名为query并使用ES6速记,因为您似乎有以下功能:

  let query = { show: "imagename" }

  return <NavLink to={{ pathname: 'image-viewer', query }} className="nav-link">{this.props.data}</NavLink>
let query={show:“imagename”}
返回{this.props.data}