我正在使用反应,我遇到了一个问题,虽然是一个美学问题,而不是一个功能问题。
我正在从名称API生成react-route
s。路线工作正常,但由于名称有空格,它们在网址中显示为:example.com/lookup/David%20Attenborough
示例:<Link to='{/lookup/' + props.data.name}>{props.data.name}</Link>
我是否有一种聪明的方法可以移除空格:example.com/lookup/DavidAttenborough
或甚至使用+
或-
来替换空格而不会失去react-router
的结构完整性。
答案 0 :(得分:1)
实际上,+
无效作为路径中空格的编码,仅在查询字符串中有效。请参阅When to encode space to plus (+) or %20?和https://github.com/ReactTraining/react-router/issues/2407
你无法做你想要的事情
答案 1 :(得分:0)
您可以使用正则表达式在网址中放置(-或+) 例子
let name = props.data.name;
name = name.replace(/\s+/g, '-');
const url = `/lookup/${name}
<Link to={url}>{props.data.name}</Link>
您可以添加+或-