Reactjs 交换机做什么?

Reactjs 交换机做什么?,reactjs,react-router-v4,Reactjs,React Router V4,我有以下代码: 从'react router dom'导入{Route,Switch}; ( )}/> ( )}/> 用户登录(使用/login)后,他将被重定向到/dashboard。 但是,如果我从/dashboard中删除,用户仍将被重定向到/dashboard,但该dashboard组件不会被渲染 那么,这个是如何工作的呢?一个开关会呈现与位置匹配的第一个子对象或 这与仅仅使用一堆有什么不同 的独特之处在于它以独占方式呈现路由。相反,每个与位置匹配的都以包含方式呈现。考虑这个代码: &

我有以下代码:

从'react router dom'导入{Route,Switch};
(
)}/>
(
)}/>
用户登录(使用
/login
)后,他将被重定向到
/dashboard
。 但是,如果我从
/dashboard
中删除
,用户仍将被重定向到
/dashboard
,但该
dashboard
组件不会被渲染


那么,这个
是如何工作的呢?

一个开关会呈现与位置匹配的第一个子对象

这与仅仅使用一堆
有什么不同

的独特之处在于它以独占方式呈现路由。相反,每个与位置匹配的
都以包含方式呈现。考虑这个代码:

<Route path="/about" component={About}/>
<Route path="/:user" component={User}/>
<Route component={NoMatch}/>

在react router中阅读更多关于此的信息。卸下交换机会将登录和仪表板组件作为直接子组件呈现。登录后,您将被重定向到“/dashboard”url,但不会重新呈现仪表板,因为两个路由都匹配此路径


Switch组件以独占方式呈现与当前url匹配的第一个子路径。

Switch组件确保其中匹配的第一条
路由得到呈现,并在那里停止。也许你有另一个
开关
路由
进一步完善你的应用程序,与
/dashboard
相匹配?@Tholle我用路由和开关的完整列表编辑了我的文章。看看我仍然不明白-如果我不使用
开关
,当我转到
/dashboard
时,它是否会呈现不同的组件?您在问题中提供的代码是完整的呈现功能?或者你遗漏了一些部分…我不认为从文档中复制和粘贴是一个有用的答案。是的。如果你可以用更好的方式来解释它(文档往往是技术性的),从另一个地方来说,这基本上是一样的。如果这还不足以自圆其说,那么这个人可以要求进一步的澄清。是的,我只是对它作进一步的改进。我不明白如何
,和
匹配
。。。
import { Switch, Route } from 'react-router'

<Switch>
  <Route exact path="/" component={Home}/>
  <Route path="/about" component={About}/>
  <Route path="/:user" component={User}/>
  <Route component={NoMatch}/>
</Switch>