React Router V4 开关与 div?

React Router V4 switch vs div?

我看到各种例子说当使用 React Router V4 时,你可以将你的 <Route /> 组件包装在 React Router 提供的 <Switch> 组件中,或者你可以使用任何其他元素来包含您的路线(例如 <div>)。

这两种方法有什么区别?

示例:

<BrowserRouter>
  <div>
    <Route exact path="/login" component={LoginScreen} />
    <Route path="/loading" component={LoadingScreen} />
  </div>
</BrowserRouter>

VS

<BrowserRouter>
  <Switch>
    <Route exact path="/login" component={LoginScreen} />
    <Route path="/loading" component={LoadingScreen} />
  </Switch>
</BrowserRouter>

<Switch/> components will only show the first matched child <Route/> for any given path。其他配置将显示所有匹配项。