Reactjs 反应:默认情况下,useQueries不会字符串化嵌套查询对象:使用自定义字符串化查询函数
我试图建立一个URL,用作React-NavLink(从React-router教程中借用的组件)的目标,但我正在努力解决向“to”API属性添加查询字符串的语法问题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
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}