【每日一题】React-Router路由切换配置
前端印记
共 1687字,需浏览 4分钟
·
2021-09-22 07:50
人生苦短,总需要一点仪式感。比如学前端~
使用<Route>
组件
路由匹配是通过比较<Route>
的 path 属性和当前地址的 pathname 来实现的。当一个<Route>
匹配成功的时候,它将渲染其内容,当他不匹配的时候就会渲染 null。没有路径的<Route>
将始终被匹配。
// when location = { pathname: '/about' }
<Route path='/about' component={About}/>
<Route path='/contact' component={Contact}/>
<Route component={Always}/>
结合使用<Switch>
组件和<Route>
组件
<Switch>
用于将<Route>
分组
<Switch>
<Route exact path="/" component={Home} />
<Route path="/about" component={About} />
<Route path="/contact" component={Contact} />
</Switch>
<Switch>
不是分组<Route>
所必须的,但他通常很有用。一个<Switch>
会遍历其所有的子<Route>
元素,并渲染与当前地址匹配的第一个元素。
使用<Link>、<NavLink>、<Redirect>
组件
<Link>
组件来在你的应用程序中创建链接,无论你在何处渲染一个<Link>
,都会在应用程序的 HTML 中渲染锚a
标签
<Link to="/">Home</Link>
//相等于 <a href='/'>Home</a>
<Navlink>是一个特殊类型的<Link>,当它的 to 属性与当前地址匹配的时候,可以将其定义为"活跃的"
// location = { pathname: '/react' }
<NavLink to="/react" activeClassName="active">
React
</NavLink>
// <a href='/react' className='active'>React</a>
当你想强制导航时,你可以渲染一个<Redirect>
。当一个<Redirect>
渲染的时候,将会使用它的to
属性进行定向。
所有《每日一题》的 知识大纲索引脑图 整理在此:https://www.yuque.com/dfe_evernote/interview/everyday
你也可以点击文末的 “阅读原文” 快速跳转
让我们一起携手同走前端路!
关注公众号回复【加群】即可
评论