我的编程空间,编程开发者的网络收藏夹
学习永远不晚

详解react-router-domv6版本基本使用介绍

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

详解react-router-domv6版本基本使用介绍

Routes

  • 代替Switch组件,不会向下匹配
  • 用来包裹Route

Route

  • 必须被Routes组件包裹
  • component属性变成element
  • caseSensitive 路径大小写敏感属性,默认是不敏感(访问/about = /ABOUT)
  • index 与path属性是互斥的,index表示为当前路由的根
  • 可以用作layout组件,不写element属性,写了要与 Outlet组件配合使用(嵌套路由)
        <Routes>
          <Route path='/home' element={<Home />}></Route>
          <Route path='/about' element={<About />} caseSensitive={false} />
        </Routes>

        <Route path='/user'>
            <Route index element={<h1>user~</h1>} />
        </Route>

Navigate

  • 用来代替Redirect组件
  • replace属性 跳转模式 "PUSH" | "REPLACE"
  • 只要这个组件一渲染就会发生跳转
        <Routes>
          <Route path='/home' element={<Home />}></Route>
          <Route path='/about' element={<About />} caseSensitive={false} />
          <Route path='*' element={<Navigate to='/home' />} />
        </Routes>

NavLink

  • className,自定义激活时的样式名 可以为字符串或者函数
  • end 匹配子路由时是否高亮
  • caseSensitive 代表匹配路径时是否区分大小写

useRoutes

用来管理路由表,相比v5,可能需要借助一些第三方库来实现路由config管理,现在v6版本自带

const routes = useRoutes([
    {
      path: '/home',
      element: <Home />
    },
    {
      path: '/about',
      element: <About />
    },
    {
      path: '*',
      element: <Navigate to='/home' />
    },
    {
      path: '/user',
      children: [
        {
          index: true,
          element: <h1>user~</h1> // 这种不属于嵌套路由,这里面children会防到父亲的位置,所以不需要配合Outlet组件使用
        }
      ]
    }
  ])

嵌套路由

嵌套路由一般是配合 Outlet 组件使用,此组件类似于Vue的router-view组件,告知子路由应该渲染在什么位置

{
      path: '/home',
      element: <Home />, // 这种才属于嵌套路由
      children: [
        {
          path: 'message',
          element: <Message />
        },
        {
          path: 'article',
          element: <Article />
        }
      ]
}

在Home组件中使用<Outlet/>才能渲染子路由

      <div style={{ marginTop: '48px' }}>
        <div className='nav'>
          <div className='nav-item'>
            <NavLink to='/home/message'>message</NavLink>
          </div>
          <div className='nav-item'>
            <NavLink to='/home/article'>article</NavLink>
          </div>
          <div style={{ marginTop: 36 }}>
            <Outlet />
            {}
          </div>
        </div>
      </div>

路由传参

  • params传参(useParams)
  • search参数传参(useSearchParams)
  • state传参 (useLocation,获取v5版本的location对象,如果直接输入可能state为null)

编程式导航

useNavigate

const navigate = useNavigate()

navigate('detail3', {

state: {

id: *item*.id,

content: *item*.content,

title: *item*.title

}

})

<button *onClick*={() => navigate(-1)}>back</button> 返回上一页

<button *onClick*={() => navigate(1)}>go</button> 前进

其他一些hooks

  • useInRouterContext 判断组件是否被Router包裹,可能有些第三方组件需要判断
  • useNavigationType 返回用户到当前页面的导航类型 "POP" | "PUSH" | "REPLACE";
    • 注意 POP是指在浏览器直接打开了这个路由组件(刷新页面)
  • useOutlet 返回嵌套的路由,可以代替Outlet组件
  • useResolvedPath 给定一个url,解析出path,hash,search(location对象)

 到此这篇关于详解react-router-dom v6版本基本使用介绍的文章就介绍到这了,更多相关react-router-dom v6使用内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

详解react-router-domv6版本基本使用介绍

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Shell AWK编程的基本介绍和使用详解

目录1、AWK介绍(1)AWK概述(2)printf格式化输出(3)printf命令说明2、AWK的基本使用(1)AWK命令说明(2)AWK命令使用1、AWK介绍 (1)AWK概述 AWK是一种处理文本文件的语言,是一个强大的文本分
2022-06-08

react-router-dom 降低版本的两种方法详解

这篇文章主要介绍了react-router-dom 降低版本的两种方法,本篇文章就记录下如何降低react-router-dom为v5版本的两种方法,需要的朋友可以参考下
2022-12-24

路由react-router-dom的基本使用教程

在React中,路由是一套映射规则,是URL路径与组件的对应关系。使用React路由,就是配置路径和组件的对应关系,这篇文章主要介绍了路由react-router-dom的使用,需要的朋友可以参考下
2023-02-02

详细介绍HTML的基本用法

HTML是一种基本的网页设计语言,是创建网页的重要工具之一。对于想要学习HTML的初学者来说,了解HTML的基本用法是至关重要的。本文将详细介绍HTML的基本用法,让你轻松入手。一、HTML的基本概念HTML,全称是HyperText Markup Language,即超文本标记语言。HTML是一种标记语言,它用标记(Tag)描述网页,告诉网页浏览器如何显示文本和其他元素。在H
2023-05-14

React使用Context与router实现权限路由详细介绍

这篇文章主要介绍了React使用Context与router实现权限路由的详细过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
2023-01-28

Webpack介绍和基本使用指南

Webpack是一款静态模块加载器,用于管理JavaScript模块和依赖项的打包。通过将源文件优化为捆绑文件,提升代码运行效率。入门指南包括:NPM安装Webpack。创建配置文件,指定入口点和输出路径。编写应用程序代码。运行Webpack,构建捆绑包。在HTML中包含捆绑包文件。Webpack提供自定义配置选项,支持HMR、树摇晃和代码分割等功能,帮助开发人员构建优化且高效的代码。
Webpack介绍和基本使用指南
2024-04-02

Python中ttkbootstrap的介绍与基本使用

ttkbootstrap是一个基于 tkinter 的界面美化库,使用这个工具可以开发出类似前端bootstrap风格的tkinter桌面程序,下面这篇文章主要给大家介绍了关于Python中ttkbootstrap的介绍与基本使用的相关资料,需要的朋友可以参考下
2023-01-15

windows10哪个版本最好用2022windows10哪个版本最好用详细介绍

windows10哪个版本最好用2022是2022年很多要更换系统用户都关注的问题,当用户在见到win10的版本的情况下诸多版本让用户不知道如何选择,专业版、标准版、教育版等多种多样版本,让用户不清楚差别,因而想知道那一个版本最好用就请看下
2023-07-10

编程热搜

目录