问题
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