Encoding Uri using Link of react router dom not working

走远了吗. 提交于 2020-08-07 05:55:35

问题


I want to encode uri, using Link tag of react-router-dom but when I use javascript encodeURIComponent to encode uri it does not show encoded uri in address bar(url bar) though i see uri encoded when i hover.

<Link key={i}  to={encodeURIComponent(item.url)}> {item.text}</Link>  

Am I mising anything or uri is decoded inside react router dom.


回答1:


The Link in react router dom decodes the uri while pushing it to history.
Anybody can read this issue in github and related issues Path is decoded in createLocation #505
https://github.com/ReactTraining/history/issues/505

I did workaround of this issue by double encoding the uri so that it is decoded once while pushing in history.
encodeURIComponent(encodeURIComponent(item.url))
till now I have not found any side effects of this....hope this helps anybody facing this issue.



来源:https://stackoverflow.com/questions/48523058/encoding-uri-using-link-of-react-router-dom-not-working

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!