学习记录——react-router-domt路由知识点

本文详细介绍了react-router-dom的关键概念,包括BrowserRouter和HashRouter作为路由系统根节点,Switch实现精确匹配,Route组件用于页面映射,以及path、component、render属性的用法。此外,还讲解了Redirect进行重定向,Link进行路由跳转的方式,以及声明式和编程式路由跳转的实践。最后,阐述了路由匹配规则、参数传递和路由信息的获取,如history、location和match对象的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

BrowserRouter:路由系统根节点,必须要有且只能有一个
HashRouter:路由系统根节点,必须要有且只能有一个
Switch:它的子元素只能是Route或者Redirect,功能是只匹配一个路由,只要匹配成功就不再继续匹配
Route:路由与页面的一一对应关系

  <Route path="/home" component={Home} />
  <Route path="/detail" render={()=>Detail} />
  • path:路径
  • component:路径匹配的组件
  • exact:是否准确匹配
  • render:返回虚拟dom,功能与component类似,但更加灵活,可以对匹配的组件进行传参

Redirect:重定向

<Redirect from="/" to="/home" />

Link:类似a标签,路由的跳转

路由的匹配规则
默认为包容性匹配,而不是===准确匹配
全等进行匹配:exact属性

<Route path="/home" component={Home} exact/>

路由跳转

  • 声明式:Link标签
  • 编程式:
    this.props.history.push(’/home’) 页面跳转
    this.props.history.replace(’/home’)不会留下历史记录
    this.props.history.goBack()返回
    this.props.history.go(-1)返回

路由传参

  • 声明式:
    <Link to="/home?id=1"><Link>
  • 编程式:
    	this.props.history.push({
     			pathname:'/home',
     			state:{
     				id:1
     			}
     	})
    

接收传过来的参数:this.props.history.location

路由信息
history:管理访问记录,同时提供js方式的路由跳转
location:提供了当前访问的路由信息
match:提供了当前路由的匹配情况

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值