最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Encoding Uri using Link of react router dom not working - Stack Overflow

programmeradmin1浏览0评论

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.

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.

Share Improve this question edited Jan 31, 2018 at 8:27 Vikas Yadav 3,3542 gold badges23 silver badges22 bronze badges asked Jan 30, 2018 at 13:49 AnsAns 3443 gold badges4 silver badges11 bronze badges 2
  • Try to fix like that <Link key={i} to={encodeURIComponent(item.url)}}> {item.text}</Link> – Andrew Paramoshkin Commented Jan 30, 2018 at 13:51
  • Andrew I used the same...I edited my question...Thanks – Ans Commented Jan 30, 2018 at 17:14
Add a ment  | 

1 Answer 1

Reset to default 2

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./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.

发布评论

评论列表(0)

  1. 暂无评论