React路由提供常用组件的详解

路由提供组件的详解

组件及其作用:

组件作用
路由模式BrowserRouter约定模式 为 history,使用 HTML5 提供的 history API 来保持 UI 和 URL 的同步
路由模式HashRouter约定模式 为 hash,使用 URL 的 hash 来保持 UI 和URL 的同步
声明式跳转NavLink声明式跳转 还可以约定 路由激活状态
声明式跳转Link声明式跳转 无激活状态
重定向Redirect重定向 ~~ replace
匹配并展示Route匹配组件,并展示组件。即匹配成功后,组件立即被替换成匹配的组件
排他性匹配Switch排他性匹配。如果不想使用包容性,那么使用Switch。
高阶组件withRouter把不是通过路由切换过来的组件中,将 history、location、match 三个对象传入props对象上(高阶组件)

结构

  • BrowserRouter|HashRouter

    App(或其它组件)

    • NavLink|Link
    • Route
    • Redirect
      • 子组件
        • NavLink|Link
        • Route

BrowserRouter

属性类型作用
basenamestring所有位置的基本URL。如果您的应用是从服务器上的子目录提供的,则需要将其设置为子目录。格式正确的基本名称应以斜杠开头,但不能以斜杠结尾
getUserConfirmationFunction用于确认导航的功能。默认使用window.confirm

Route

属性类型作用
pathstring |object路由匹配路径。没有path属性的Route 总是会 匹配
exactboolean为true时,要求全路径匹配(/home)。路由默认为“包含”的(/和/home都匹配),这意味着多个 Route 可以同时进行匹配和渲染
componentFunction |component在地址匹配的时候React的组件才会被渲染,route props也会随着一起被渲染
renderFunction内联渲染和包装组件,要求要返回目标组件的调用

Link

属性类型作用
tostring | 对象{pathname:,search:,hash:}要跳转的路径或地址
replaceboolean是否替换历史记录

NavLink

属性类型作用
tostring|对象{pathname:,search:,hash:}要跳转的路径或地址
replaceboolean是否替换历史记录
activeClassNamestring当元素被选中时,设置选中样式,默认值为 active
activeStyleobject当元素被选中时,设置选中样式

Switch

该组件用来渲染匹配地址的第一个Route或者Redirect,仅渲染一个路由,排他性路由,默认全匹配(场景:侧边栏,引导选项卡等)

属性类型作用
locationstring object
childrennode

Redirect

该组件用来渲染匹配地址的第一个Route或者Redirect,仅渲染一个路由,排他性路由,默认全匹配(场景:侧边栏和面包屑,引导选项卡等

属性类型作用
fromstring来自
tostring object去向
pushboolean添加历史记录
exactboolean严格匹配
sensitiveboolean区分大小写
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值