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 中存在的问号的主要内容,如果未能解决你的问题,请参考以下文章
使用 jest 模拟 react-router-dom 钩子不起作用
如何在 react-router-dom 链接中传递参数? [复制]
使用链接后,在嵌套路由中未定义 React-router-dom 参数
React JS如何使用react-router-dom将数组作为参数传递
ReactSPA - 路由机制 - react-router-dom - 基本路由 - 嵌套路由 - 传递参数 - 路由跳转