React Router v6 学习笔记01

基础知识点

1、React Router

react-router:路由核心库,包含诸多和路由功能相关的核心代码

react-router-dom:利用路由核心库,结合实际页面,实现跟路由密切相关的功能

如果是在页面中实现路由,需要安装react-router-dom

2、两种模式

路由:根据不同的页面地址,展示不同的组件

Hash Router哈希路由

根据url中的哈希值:#hashdata 来确定显示的组件

原因:hash的变化,不会导致页面的刷新

这种模式的兼容性最好

Borswer History Router 浏览器历史记录路由

根据页面路径来渲染组件

HTML5中新增了History APi 浏览器拥有了改变路径而不刷新页面的方式

Histoty表示浏览器历史记录栈

1、history.length:获取栈中的数据量

2、history.pushState:项当前历史记录栈中加一条新的记录

参数1:附加的数据,自定义数据,可以是如何数据

参数2:页面标题,目前大部分浏览器不支持

参数3:新的地址

3、history.replaceState:将当前指针指向的历史记录,替换为某个记录

3、路由组件

React-Router为我们提供了两个重要组件

Router组件

它本身不做任何展示,仅提供路由模式配置

该组件会产生一个上下文,上下文中会通过一些实用的对象和方法,供其他组件使用

1、HashRouter:该组件使用hash模匹配

2、BrowerRouter:该组件使用BrowserHistory模式匹配

通常情况下,Router组件只有,将该组件包括整个页面

import {HashRouter,BrowserRouter } from 'react-router-dom'
export default class App extends Component {
  render() {
    return (
      <BrowserRouter >
       这是一个新工程
      </BrowserRouter>
      // <HashRouter >
      //   这是一个新工程
      // </HashRouter>
    )
  }
}

Route组件

Routes和Route要搭配使用,并且必须要用Routes包裹Route;

Route相当于一个if语句,如果路径与当前URL匹配,则呈现其对应的组件。

属性用于指定:匹配时是否区分大小写(默认为false)。

当URL发生变化时,都会查看其所有子 元素以找到最佳匹配并呈现组件。

也可以嵌套使用,且可以配合useRoutes()配置“路由表”,但需要通过组件来渲染其子路由。

Route重要属性:

1、path:匹配的路径

默认情况下,不区分大小写,可以设置caseSensitive属性为true来区分大小写

默认情况下,是精确匹配,可以使用路由嵌套实现模糊匹配

2、element:匹配成功后要展示的组件

3、index 同级路由下不设置path时的默认显示组件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值