你应该知道的react router 4
Posted 一江西流
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了你应该知道的react router 4相关的知识,希望对你有一定的参考价值。
看完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的主要内容,如果未能解决你的问题,请参考以下文章
react-routerreact-router-domreact-router-native 关系
使用具有不同片段字段的相同中继根查询的多个 react-router-relay 路由
Antd Menu组件应该如何结合react-router Link组件?