码迷,mamicode.com
首页 > 其他好文 > 详细

你应该知道的react router 4(四)

时间:2018-09-21 13:32:07      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:嵌套   contact   index   reac   第一个   path   严格   例子   react   

  看完Router的变化,接着来说<Switch>组件。

在3.X中,你可以指定很多子路由,但是只有第一个匹配的路径才会被渲染。

就像这样,

<Route path=‘/‘ component={App}>
  <IndexRoute component={Home} />
  <Route path=‘about‘ component={About} />
  <Route path=‘contact‘ component={Contact} />
</Route>

4.X中提供了一个相似的方法用来代替<IndexRoute>,就是<Switch>组件,当一个<Switch>组件被渲染时,react只会渲染Switch下与当前路径匹配的第一个子<Route>

就像这样,

<Route path="/" render={()=>
       <Admin>
             <Switch>
                   <Route path=‘/home‘ component={Home} />
            <Route path=‘/about‘ component={About} />
            <Route path=‘/contact‘ component={Contact} />
</Switch> </Admin> } />

  正如你所理解的意思一样,switch就同我们代码中使用的一样,当匹配到一个值之后,即不再继续匹配,具有break的作用。因此,如果我们需要严格匹配,就需要在Route上加上exatc属性。

但是要注意,如果你的组件如例子中使用了嵌套,那么外层路由就不可以加exatc了。

你应该知道的react router 4(四)

标签:嵌套   contact   index   reac   第一个   path   严格   例子   react   

原文地址:https://www.cnblogs.com/zyl-Tara/p/9685972.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!