我对React Router编码空间有问题,但&符没有问题。因此,localhost:8080/you & me
被编码为localhost:8080/you%20&%20me
而不是localhost:8080/you%20%26%20me
,而我正在使用一种怪异的技巧来解码然后重新编码所有内容。我想知道是否有人可以推荐更好的解决方案。
答案 0 :(得分:3)
请勿在URL中使用非字母数字字符。诸如&
,/
,?
和=
之类的某些字符在URL中具有特殊含义。正如您所注意到的那样,即使在URL中使用react-router
创建路由组件时,&
不会引发错误,但最终还是会出现一些奇怪的行为。最佳做法是避免出现异常情况。您可以在网址here中阅读有关允许的字符的更多信息。
作为解决方法,您可以使用localhost:8080/you-and-me
获得几乎相同的URL。这是一个安全的网址,没有空格和特殊字符。它也是人类可读的,任何带有空格的东西都不容易被编码后读取。