react路由中的exact
时间: 2023-08-23 18:59:10 浏览: 177
简单谈谈React中的路由系统
exact 是一个用来精确匹配路由的属性,它可以应用在 Route 组件上。
在 React 路由中,当我们定义多个路由时,路由的匹配是基于前缀匹配的,默认情况下,如果一个路由的 path 是另一个路由的前缀,那么这个路由也会被匹配到。
例如,如果有以下两个路由定义:
```jsx
<Route path="/about" component={About} />
<Route path="/about/team" component={Team} />
```
如果没有使用 exact 属性,当访问 "/about/team" 时,不仅会匹配到 "/about/team" 路由,也会匹配到 "/about" 路由。
但是,如果我们在 "/about" 路由上使用了 exact 属性:
```jsx
<Route exact path="/about" component={About} />
```
那么只有当访问的路径与该路由的 path 完全匹配时才会渲染该组件。也就是说,只有当访问 "/about" 时才会匹配到这个路由,而不会匹配到 "/about/team"。
使用 exact 属性可以确保只有在路径完全匹配时才会渲染对应的组件,避免了多个路由之间的重叠匹配。
阅读全文