React-Router路由基础篇(简单易学)

这篇具有很好参考价值的文章主要介绍了React-Router路由基础篇(简单易学)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


文章目录

  • 系列文章目录
  • 前言
  • 一、pandas是什么?
  • 二、使用步骤
    • 1.引入库
    • 2.读入数据
  • 总结

前言

提示:这里可以添加本文要记录的大概内容:

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。

一、搭建路由

(1)创建项目并安装所有依赖

          npx create-react-app react-router-pro

          npm i

(2)安装最新的ReactRouter包

          npm i react-router-dom

(3)启动项目

          npm start

这是我的路由版本信息,下载最新版本即可。

React-Router路由基础篇(简单易学),react.js,vscode,前端,javascript,前端框架

案例:切换一个可以切换登录页和首页的路由系统

1.在路由文件index.js下引入Reater Router中的两个组件createBrowserRouterRouterProvider(其中,createBrowserRouter函数是用于创建一个浏览器路由器对象,用来配置应用中的路由;RouterProvider则是一个组件,它主要是将创建的路由器对象提供个整个应用)

import { createBrowserRouter, RouterProvider } from 'react-router-dom'

2.使用createBrowserRouter创建router实例对象并且配置路由对应关系

const router = createBrowserRouter([

  {

    path: '/login',

    element: <div>我是登录页</div>,

  },

  {

    path: '/home',

    element: <div>我是首页</div>,

  },

])

3.使用RouterProvider组件全局注入router实例

React-Router路由基础篇(简单易学),react.js,vscode,前端,javascript,前端框架

查看结果:

React-Router路由基础篇(简单易学),react.js,vscode,前端,javascript,前端框架

React-Router路由基础篇(简单易学),react.js,vscode,前端,javascript,前端框架

二、抽象路由模块

1.创建好你所需要的页面

eg: 这里是简单创建了个首页,登录页同下

React-Router路由基础篇(简单易学),react.js,vscode,前端,javascript,前端框架

2.在路由文件router中使用createBrowserRouter创建浏览器路由对象router,配置好各页面路径

React-Router路由基础篇(简单易学),react.js,vscode,前端,javascript,前端框架

3.在全局应用入口文件中引入路由并使用RouterProvider注册路由,绑定路由router实例

React-Router路由基础篇(简单易学),react.js,vscode,前端,javascript,前端框架

查看结果:

React-Router路由基础篇(简单易学),react.js,vscode,前端,javascript,前端框架


三、路由导航跳转

概念:在路由系统中,我们可能需要在多个路由之间进行路由跳转,可能还需要携带参数来进行通信。

声明式导航

概念:在模板中使用<Link/>组件描述跳到哪里。

语法:通过给组件的to属性指定跳转的路由路径,组件将被渲染为浏览器支持可跳转的a链接,如果需要传参的话,那么直接使用字符串拼接的方式来拼接参数

使用场景:一般在菜单栏、后台管理左侧菜单栏中等比较常见。

eg:

React-Router路由基础篇(简单易学),react.js,vscode,前端,javascript,前端框架

跳转前:

React-Router路由基础篇(简单易学),react.js,vscode,前端,javascript,前端框架

跳转后:

React-Router路由基础篇(简单易学),react.js,vscode,前端,javascript,前端框架

编程式导航

概念:通过使用UseNavigate钩子函数得到导航方法,在组件中调用此方法以命令的形式进行路由跳转。

语法:通过调用navigate()方法传入地址path实现跳转

使用场景:一般写在逻辑代码中,比如点击按钮时要实现的页面跳转等。

eg:

React-Router路由基础篇(简单易学),react.js,vscode,前端,javascript,前端框架

跳转前:

React-Router路由基础篇(简单易学),react.js,vscode,前端,javascript,前端框架

跳转后:

React-Router路由基础篇(简单易学),react.js,vscode,前端,javascript,前端框架

四、导航跳转传参

serchParams传参:

使用固定钩子函数useSearchParams接收参数,通过在path路径后面拼上字符串来传递参数。

语法:

navtigate('/home?id=100&name=Zds')   //拼接字符串传递参数

const [params] = useSearchParams()   //通过useSearchParams接收参数

let id = params.get('id')  // 获取传递的参数

   eg:

在登录页login使用“?”拼接字符串传递参数

React-Router路由基础篇(简单易学),react.js,vscode,前端,javascript,前端框架

然后来到首页home使用useSearchParams钩子函数接收参数并引用params.get方法获取参数最后再渲染

React-Router路由基础篇(简单易学),react.js,vscode,前端,javascript,前端框架

结果:点击登录页的按钮后跳转到首页,传递的参数显而易见。

React-Router路由基础篇(简单易学),react.js,vscode,前端,javascript,前端框架

React-Router路由基础篇(简单易学),react.js,vscode,前端,javascript,前端框架

Params传参

使用固定钩子函数useParams接收参数,通过在path路径后面直接传递参数。

语法:

 navigate('/login/200')
 const params = useParams()
 const id = params.id

eg:

在首页home中,通过在path后直接拼接参数的方式来传递参数

React-Router路由基础篇(简单易学),react.js,vscode,前端,javascript,前端框架

然后来到路由文件中,在即将跳转的路径后拼接好参数

React-Router路由基础篇(简单易学),react.js,vscode,前端,javascript,前端框架

最后来到登录页面login下使用useParams接收参数,通过params传参方式可直接使用对象的方法来获取所需要的参数。

React-Router路由基础篇(简单易学),react.js,vscode,前端,javascript,前端框架

结果:跳转前,点击按钮后跳转到登录页面

React-Router路由基础篇(简单易学),react.js,vscode,前端,javascript,前端框架

跳转后:

React-Router路由基础篇(简单易学),react.js,vscode,前端,javascript,前端框架

注意:使用params传递的参数会显示在浏览器地址栏上

五、嵌套路由配置

1.使用children属性来配置路由嵌套关系

2.使用<Outlet />组件来配置二级路由渲染位置

eg:

(1)创建页面

React-Router路由基础篇(简单易学),react.js,vscode,前端,javascript,前端框架

(2)配置路由文件

React-Router路由基础篇(简单易学),react.js,vscode,前端,javascript,前端框架

(3)来到一级路由文件Layout.js中,通过声明式导航来进行路由跳转,使<Outlet />组件来渲染二级路由页面

React-Router路由基础篇(简单易学),react.js,vscode,前端,javascript,前端框架

结果:点击切换二级board和二级about,展示相应内容

React-Router路由基础篇(简单易学),react.js,vscode,前端,javascript,前端框架

六、默认二级路由配置

概念:当访问一级路由时,二级路由也能得到渲染,此时需要在路由文件下将path路径去除,并设置index:true的属性

eg:依据上文,进入路由配置文件中,将path路径去除,设置index:true

React-Router路由基础篇(简单易学),react.js,vscode,前端,javascript,前端框架

结果展示:当我们刷新浏览器时,二级board页面直接呈现

React-Router路由基础篇(简单易学),react.js,vscode,前端,javascript,前端框架

来到Layout一级路由页面,将刚设置的about页面跳转path去除

React-Router路由基础篇(简单易学),react.js,vscode,前端,javascript,前端框架

结果展示:这时,我们会看到两个二级页面可以随意切换

React-Router路由基础篇(简单易学),react.js,vscode,前端,javascript,前端框架

七、404路由配置

场景:当用户在浏览器地址栏输入路径在整个路由配置中都找不到对应的path时,为了用户更好的体验,我模块一使用404组件。

实现步骤:

1.准备一个NotFound组件

React-Router路由基础篇(简单易学),react.js,vscode,前端,javascript,前端框架

2.在路由表数组的末尾,以为*作为路由path配置路由

React-Router路由基础篇(简单易学),react.js,vscode,前端,javascript,前端框架

结果展示:

React-Router路由基础篇(简单易学),react.js,vscode,前端,javascript,前端框架

八、两种路由模式

ReactRouter分别由createBrowserRouter和createHsahRouter函数负责创建

history模式

底层原理:history对象+pushState事件(需要后端协助),url表现:url/login

eg:

React-Router路由基础篇(简单易学),react.js,vscode,前端,javascript,前端框架

结果展示:

React-Router路由基础篇(简单易学),react.js,vscode,前端,javascript,前端框架

hash模式(哈希模式)

底层原理:监听hashChange事件(无需后端支持),url表现:url/#/login

eg:

React-Router路由基础篇(简单易学),react.js,vscode,前端,javascript,前端框架

结果展示:

React-Router路由基础篇(简单易学),react.js,vscode,前端,javascript,前端框架

React-Router路由基础篇(简单易学),react.js,vscode,前端,javascript,前端框架

总结

以上就是今天要讲的内容,本文仅仅简单介绍了React-Router的使用,希望能帮助更多的小伙伴更好的完成项目。文章来源地址https://www.toymoban.com/news/detail-850613.html

到了这里,关于React-Router路由基础篇(简单易学)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • React-Router详解

    React-Router是一款用于构建单页面应用(SPA)中处理路由的JavaScript库。在现代的Web应用中,SPA已经成为了一种常见的应用架构模式,它允许在不刷新整个页面的情况下进行交互式的用户体验。而React-Router作为React生态系统中的路由管理工具,为开发者提供了一种简洁、灵活且强

    2024年02月08日
    浏览(42)
  • React-学习笔记(8—react-router@5 and @6)

    目录 1、react-router@5 1-1、在项目中安装路由 1-2、一个项目使用一个路由器来管理路由即可 1-3、 路由组件和一般组件的区别 1-4、使用 NavLink 1-5、封装 NavLink —— MyNavLink 1-6、使用 Switch 标签 1-7、BrowserRouter解决多级路径匹配样式丢失问题 1-8、路由的模糊匹配和严格匹配 1-9、路

    2024年02月12日
    浏览(46)
  • 创建react脚手架项目——demo(react18 + react-router 6)+ react项目打包部署

    全局安装 create-react-app 说明:不建议安装全局,建议使用 npx 命令安装,具体可参考官网,如下: 官网: https://zh-hans.legacy.reactjs.org/docs/create-a-new-react-app.html. 1.2.1 问题1——npm ERR! code ENOTFOUND(网络问题clashx) 问题描述,如下: 解决问题——方式1 如果使用了clashx,可能是它

    2024年02月07日
    浏览(72)
  • react-router5: 地址栏变化,页面没变

    今天在写 react-router demo 的时候,出现了一个问题,浏览器地址栏变了,但是页面没变 手动刷新一下就变了 解决办法:

    2023年04月09日
    浏览(58)
  • 一文了解 history 和 react-router 的实现原理

    我们是袋鼠云数栈 UED 团队,致力于打造优秀的一站式数据中台产品。我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值。 本文作者:霜序 在前一篇文章中,我们详细的说了 react-router@3.x 升级到 @6.x 需要注意的问题以及变更的使用方式。 react-router 版本更新

    2024年02月12日
    浏览(42)
  • React-Router 5.0 制作导航栏+页面参数传递

    使用 React 构建 SPA 应用(单页面应用),要想实现页面间的跳转,首先想到的就是使用路由。在 React 中,常用的有两个包可以实现这个需求,那就是 react-router 和 react-router-dom 。本文主要针对 react-router-dom 进行说明。 众所周知, JS 由 DOM BOM ECMAScript 组成, React-Router-Dom 使用 BOM 提供

    2024年02月08日
    浏览(45)
  • 超级实用!React-Router v6实现页面级按钮权限

    大家好,我是王天~ 今天咱们用 reac+reactRouter来实现页面级的按钮权限功能。这篇文章分三部分,实现思路、代码实现、踩坑记录。 嫌啰嗦的朋友,直接拖到第二章节看代码哦。 通常情况下,咱们为用户添加权限时,除了页面权限,还会细化到按钮级别,比如、新增、删除

    2024年02月08日
    浏览(41)
  • 【退役之重学前端】使用vite+vue3+vue-router,重构react+react-router前后端分离的商城后台管理系统

    前言: 对前端各个技术板块,HTML、CSS、JavaScript、ES6、vue家族,整体上能“摸其大概”。笔者计划重构一个基于react的商城后台管理系统。 —— 2024年2月16日 vue3 sass bootstrap ES7 前后端分离 分层架构 模块化开发 npm vite git

    2024年02月20日
    浏览(56)
  • react渲染列表信息(简单易学)

    1.新建个文件夹,启动终端,使用 create-react-app my-react 命令创建项目,其中my-react是自定义项目名称。 2.删除根目录src文件夹下多余文件,保留index.js和index.css文件 3.安装scss需要的依赖,使用npm install --save node-sass,npm install --save sass-loader命令进行安装并在根文件夹处引入 4.引

    2024年04月10日
    浏览(38)
  • React-路由 react-router-dom

    前端路由的功能:让用户从一个页面跳转到另一个页面。 前端路由是一套映射规则 ,在 React 中, 是 URL 路径与组件的对应关系 。 使用 React 路由简单来说就是配置 路径与组件(配对) 。 路由的本质: 一个路径 path 对应唯一的一个组件 component 当我们访问一个 path 自动把 p

    2024年02月02日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包