4-12节最后那里用match.url 导致路由出现 "//", 导致点击下面的路由的时候显示不出来, 点两次才能出现

来源:4-12 react-router4 路由 05-和 Redux 配合-补充

huyo0820

2018-02-02

http://img.mukewang.com/szimg/5a733bab000197f710830389.jpg

请问红框那里为什么点击的时候 "/" 点击时, 路由会循环出现 "/" 和 "//" (一个和两个斜杠呢), 有点不明白原理

写回答

3回答

慕粉jason

2018-04-23

浏览器解析时,斜杠“/“代表根路径,可以省略,如果手动加上也是正确的,所以对浏览器来说根路径你写一个斜杠或者不写是一个意思。

所以当你在上面代码第一个后面跟上斜杠后,根路径就被你默认转换成带斜杠了,因为对浏览器说是相同的意思,所以它没做处理。但是当你再点击第二个链接时,url的值因为已经有了斜杠,加上你在拼接第二个的时候又拼写了一个斜杠,所以就变成两个了。

0
0

huyo0820

提问者

2018-02-06

就是加了一个 / 才会出现我说的那种情况, 像我上面那样写代码就没有问题
0
0

吉诺比利GOAT

2018-02-06

你应该在

           <Link to={`${match.url}/`}>Players</Link>

后面再加一个斜杠 确保只有一个斜杠吧



0
0

Redux+React Router+Node.js全栈开发

全网唯一的React 16+Redux+React Router4实战课程,学到手是你的真本领!

1822 学习 · 750 问题

查看课程