React Router V4交换机vs div?

sar*_*den 5 reactjs react-router-v4

我已经看到许多示例说,使用React Router V4时,您可以将<Route />组件包装在<Switch>React Router提供的组件中,也可以使用任何其他元素包含路由(例如<div>)。

这两种方法有什么区别?

例子:

<BrowserRouter>
  <div>
    <Route exact path="/login" component={LoginScreen} />
    <Route path="/loading" component={LoadingScreen} />
  </div>
</BrowserRouter>
Run Code Online (Sandbox Code Playgroud)

VS

<BrowserRouter>
  <Switch>
    <Route exact path="/login" component={LoginScreen} />
    <Route path="/loading" component={LoadingScreen} />
  </Switch>
</BrowserRouter>
Run Code Online (Sandbox Code Playgroud)

Arm*_*ran 7

<Switch/>组件只会显示<Route/>任何给定的第一个匹配的子代path。其他配置将显示所有匹配项。

  • 纠正我,如果我错了,确切也会做同样的事情 (2认同)