我想使用 react-router-dom 的链接标记对 uri 进行编码,但是当我使用 javascript encodeURIComponent 对 uri 进行编码时,它不会在地址栏(url 栏)中显示编码的 uri,尽管我在悬停时看到 uri 已编码。
<Link key={i} to={encodeURIComponent(item.url)}> {item.text}</Link>
我是不是遗漏了什么,或者 uri 在 react router dom 中被解码了。
最佳答案
React router dom 中的 Link 在将其推送到历史记录时对其进行解码。
任何人都可以在 github 和相关问题中阅读此问题
路径在 createLocation #505 中解码
https://github.com/ReactTraining/history/issues/505
我通过对 uri 进行双重编码来解决此问题,以便在推送历史记录时解码一次。
encodeURIComponent(encodeURIComponent(item.url))
直到现在我还没有发现任何副作用....希望这可以帮助任何面临这个问题的人。
关于javascript - 使用 react 路由器的链接编码 Uri 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48523058/