react-router-dom 参数不包含 URL 中存在的问号

Posted

技术标签:

【中文标题】react-router-dom 参数不包含 URL 中存在的问号【英文标题】:react-router-dom params doesn't include question marks which are present in URL 【发布时间】:2021-01-27 19:15:53 【问题描述】:

假设 URL 参数是这样的:'/I-am-John-Doe-Who-Are-You?' 但是当我 console.log 'react-router-dom' params 时,它记录的只是 'I-am-John-Doe-Who-Are-You',而不是 ? URL 末尾的问号

并且当 URL 参数包含两个问号时,例如 '/I-am-John-Doe?-Who-Are-You?' 然后它只会提取参数直到第一个问号(问号仍然不包括在内),例如 'I-am-John-Doe'

我想将这些参数发送到我的服务器的 Rest API,但这现在给我带来了问题。

【问题讨论】:

问题是url中的问号是用来标记Query String的开始 【参考方案1】:

url中的?代表可选参数, 所以当你看到一个像 URL?something=ppp

表示参数something = ppp

所以你不能包含?

【讨论】:

你做一个解决方法,用前端的一些唯一字符串替换问号,然后将该唯一字符串替换回问号

以上是关于react-router-dom 参数不包含 URL 中存在的问号的主要内容,如果未能解决你的问题,请参考以下文章

使用ROS控制UR5的疑问

使用 jest 模拟 react-router-dom 钩子不起作用

如何在 react-router-dom 链接中传递参数? [复制]

使用链接后,在嵌套路由中未定义 React-router-dom 参数

React JS如何使用react-router-dom将数组作为参数传递

ReactSPA - 路由机制 - react-router-dom - 基本路由 - 嵌套路由 - 传递参数 - 路由跳转