React-router (v4) 否定双正斜杠

Jan*_*S91 6 javascript reactjs react-router

鉴于这是一个使用react-router-v4和browserhistory进行正确路由的工作网址:

https://localhost:8020/用户/类别

我的代码实现做得很好,但是如果用户在手动编写 url 时出现以下错误怎么办:

http://localhost:8020/User//类别(双正斜杠)

有没有一种方法可以将双斜杠视为一个斜杠,而不必手动将它们捕获为有效路线?我见过多个网站都有这种行为。

我尝试创建自己的自定义中间件来拦截位置更改并修复它,但我在输入它时遇到很多困难,所以我想知道是否有一个(简单的)替代方案。

提前致谢。

小智 0

这听起来与我今天早上遇到的问题类似。localhost:3000/home/如果我从( )出发,我会得到双斜杠,但从( )localhost:3000:3000/home//navigation出发,我会得到单斜杠。我通过将链接包装在三元运算符中并检查当前路径中的最后一个字符是否是“/”来解决这个问题。 localhost:3000/homelocalhost:3000/home/navigation

(this.props.match.path.slice(-1) === '/') ? `${this.props.match.path}navigation` : `${this.props.match.path}/navigation`
Run Code Online (Sandbox Code Playgroud)

不知道这是否可以帮助解决您的问题?