排他性路由和包容性路由 以及react路由

你如果用过vue和react,你会发现,其实他们在某些地方很像的。但我现在想说说两个在路由上的区别。

1、vue中的路由是以排他性路由为基础的,意味着只要匹配成功一个就不会往下面进行匹配了

2、react中的路由是以包容性路由为基础的,但是也可以转换成排他性路由,用switch,如果你要匹配多个路由,你得在外面加一个盒子,确保唯一子元素,读取时从上往下读,只要有一个匹配就不往下匹配了

在react世界中,路由有两种写法<link>和<navlink>,在navlink中有activeclassname和activestyle,如果你要实现高亮效果,就要用navlink

如果你用route来定义,如<Route path={`${match.path}/foodlist/:id`} component={FoodList}/>,就会有props属性,里面有history、match、location,在里面会有你想要的值。如果是自己写的组件,那么不会有props

,你如果想用,可以使用高阶组件withrouter

原文地址:https://www.cnblogs.com/guojiaru/p/9971482.html