1. 程式人生 > >排他性路由和包容性路由 以及react路由

排他性路由和包容性路由 以及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