1.匹配顺序
每个路由都是从头往后匹配的,如:/movie/:type/:page,首先会匹配到/movie页面,然后渲染相对应的组件,然后再往后匹配,若一开始在/movie路由上加exact属性,那么后面的路由就匹配不上了。
2.exact的匹配模式
加了exact后,多个同级路由也可能会都匹配上导致都渲染。所以使用Switch组件包裹,但也分先后顺序,一旦匹配到就会停止后面的匹配,所以也要注意路由的放置顺序。如:
// A code block
<Switch>
<Route exact path="/movie/detail/:id" component={MovieDetail}></Route>
<Route exact path="/movie/:type/:page" component={MovieList}></Route>
</Switch>
/movie/detail/1就都可以匹配的上。