react-router-dom switch 用法
React Router 是一个用于管理应用程序 URL 路径的库。在 React 应用程序中,我们经常需要根据不同的 URL 显示不同的内容。这就需要使用到 React Router 中的 Switch 组件。
Switch 组件是 React Router 的核心组件之一,它的主要作用是匹配和渲染路由。Switch 组件会遍历其所有的子元素(即 Route 或 Redirect 组件),并只渲染第一个与当前 URL 匹配的子元素。
下面是一个简单的例子:
```jsx
import { BrowserRouter as Router, Route, Switch } from 'react-router-dom';
function App() {
  return (
    <Router>
      <Switch>
        <Route exact path="/"ponent={Home} />
        <Route path="/about"ponent={About} />
        <Route path="/contact"ponent={Contact} />
      </Switch>
    </Router>
  );
}
function Home() {
  // ...
}
function About() {
  // ...
}
function Contact() {
  // ...
}
```
在这个例子中,当 URL 为 "/" 时,Switch 组件将渲染 Home 组件;当 URL 为 "/about" 时,Switch 组件将渲染 About 组件;当 URL 为 "/contact" 时,Switch 组件将渲染 Contact 组件。
react router路由传参需要注意的是,Switch 组件只会渲染第一个匹配的子元素。这意味着如果你有两个具有相同路径的 Route 子元素,那么只有第一个会被渲染。
此外,Switch 组件还有一个重要的属性:exact。这个属性告诉 Switch 组件是否严格匹配 URL。如果 exact 属性为 true,那么只有当 URL 完全匹配 Route 的路径时,Switch 组件才会渲染该 Route。如果 exact 属性为 false 或者没有设置,那么只要 URL 开头与 Route 的路径匹配,Switch 组件就会渲染该 Route。
总的来说,Switch 组件是 React Router 中非常重要的一个组件,它可以帮助我们根据不同的 URL 渲染不同的内容。通过合理地使用 Switch 组件,我们可以构建出复杂的、支持多级路由的 React 应用程序。