Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
reactjs——如何将对象数据干净地放入url——以及如何访问这些参数?_Reactjs - Fatal编程技术网

reactjs——如何将对象数据干净地放入url——以及如何访问这些参数?

reactjs——如何将对象数据干净地放入url——以及如何访问这些参数?,reactjs,Reactjs,我正在开发一个react js应用程序,我需要创建一个重定向,它将转到一个url,使用一组参数——一个id,然后是多个术语——键/值对类型的方法 资料 id=23 术语={“预算”:“现在看起来怎么样”,“性别”:“男性”,“年龄”:32} 所以url看起来像这样 partnerspage?id=23&terms[预算]=现在看起来怎么样&terms[性别]=男性&terms[年龄]=32 --然后在这个合作伙伴页面上,组件确实挂载了 我想获得对这些数据的访问权——因此——我正在使用路由,在一些

我正在开发一个react js应用程序,我需要创建一个重定向,它将转到一个url,使用一组参数——一个id,然后是多个术语——键/值对类型的方法

资料

id=23 术语={“预算”:“现在看起来怎么样”,“性别”:“男性”,“年龄”:32}

所以url看起来像这样 partnerspage?id=23&terms[预算]=现在看起来怎么样&terms[性别]=男性&terms[年龄]=32

--然后在这个合作伙伴页面上,组件确实挂载了

我想获得对这些数据的访问权——因此——我正在使用路由,在一些页面上,我使用正斜杠activate/{token}进行路由--

这些参数的侦听器是否类似于


console.log(“params”,this.props.location.search)?——如何从url获取数据?

为我在评论中提到的解决方案添加了一个沙箱,请查看,如果有问题,请联系我


您是否使用
react路由器
进行路由?如果是,您可以使用路由器hoc将组件包装成
,或者在您可以使用的功能组件中,
useLocation
hook,并访问
位置。搜索
。然后,您可能需要使用类库解析字符串,或者我没有为此项目使用钩子-但是是的,我使用了withRouter打开-您得到了一个js沙盒演示,演示了您的意思我甚至不确定应该如何使url看起来-因为服务api仍然有点单调-您可以尝试
this.props.match.params.id
来获取
id
或其他变量。使用hooks
useParams()
将有所帮助。不,我需要先创建字符串,并像重定向一样使用它——所以partners?id=2&terms=…-我怎么写这个对象here@TheOldCounty这也是可能的,我更新了,只是一般的方法,您将需要在实现中使用相同的原则。谢谢,我访问了它--如果您希望对url或其他内容进行哈希处理,使其不通过对象发送--然后在另一端取消对其进行哈希处理--我猜不是md5--而是可以发送的内容,并且不会在翻译或保留url时丢失shorter@TheOldCounty是的,你可以试试,但我不认为它会显著缩短url,如果你想缩短url,你必须在本地存储中有一个键入url的映射,这里你可以使用url中的键进行检索。关于它,我真的没有什么要说的了——如果它可以是md5,然后反转——但是——在url中有一个对象的那一刻——我可以拿起它并使用它——所以现在可以了