【每日一题】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
你也可以点击文末的 “阅读原文” 快速跳转


END
愿你历尽千帆,归来仍是少年。

让我们一起携手同走前端路!

关注公众号回复【加群】即可



浏览 40
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报