iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >React前端路由应用介绍
  • 111
分享到

React前端路由应用介绍

2024-04-02 19:04:59 111人浏览 八月长安
摘要

浏览器端的前端路由模式:hash模式,history模式 安装路由模块 路由模块不是React自带模块,需要安装第3方模块 // react-router-dom 它现在最新的版本

浏览器端的前端路由模式:hash模式,history模式

安装路由模块

路由模块不是React自带模块,需要安装第3方模块

// react-router-dom 它现在最新的版本6
npm i -S react-router-dom@5

react-router-dom路由库,它路由相关的配置当作组件调用设置

一些相关组件

路由模式组件

包裹整个应用,一个React应用只需要使用一次

  • HashRouter: 使用URL的哈希值实现 (localhost:3000/#/first)
  • BrowserRouter:使用H5的history api实现(localhost3000/first)

导航组件

用于指定导航链接, 最终Link会编译成a标签

  • Link: 不会有激活样式
  • NavLink:如果地址栏中的地址和to属性相匹配,则会有激活样式

路由规则定义组件

Route:

  • path属性:路由路径,在地址栏中访问的地址
  • component属性:和规则匹配成功后渲染的组件 /render/children
  • children>component>render

各组件关系示意图

?定义路由的模式,为了日后让当前项目中所有的组件都受到路由控制,定义在index.js中,在最顶层让路由模式。src/index.js

引入路由相关组件 路由模式组件,告诉当前项目,我们要使用的路由模式

HashRouter, hash路由模式

BrowserRouter history路由模式,上线时,需要对Nginx进行配置
import { BrowserRouter as Router, HashRouter } from 'react-router-dom'
ReactDOM.render(
	<Router>
		<App />
	</Router>,
document.getElementById('root')
)

Route 定义路由规则 ——路由地址和匹配成功后要渲染的组件

匹配默认为模糊匹配,而且它还会一直匹配到没有规则组件为止

import{Route} from "react-router-dom"

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

严格匹配:exact

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

Link 导航组件,它编译生成后的html标签只能是 a

<Link to="/home">Home</Link>
<Link to="/about">About</Link>
<Link to={"/about"}>About</Link>

NavLink 导航组件,它编译生成后的html标签只能是 a,但是它有激活样式active(地址栏中的地址和to属性匹配,

匹配规则,默认为模糊匹配

严格匹配:exact

修改激活样式名称:activeClassName=‘aaa’

<NavLink exact to="/">Home</NavLink>
<NavLink to="/about">About</NavLink>

Redirect 重定向 使用它,一定要用到Switch,否则有循环的问题

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

并且以上的路由没有一个匹配成功的,则用404页面 path属性不要写,写在switch中

<Route component={Notfound} />
==========================================
<Switch>
    <Route exact path="/home" component={Home}></Route>
    <Route exact path="/about" component={About}></Route>
    <Redirect exact from="/" to="/home" />
    <Route component={Notfound}></Route>
</Switch>

this.props.history.push(‘/about’) 编程式到行

如果你想用对于匹配渲染成功后的组件使用编程式导航,你默认情况下,你只能在规则匹配成功后的组件本身中使用,它的子组件都不行。父组件也不行。

?路由动态参数:

必须先声明再使用:

<Route exact path={<!--{C}%3C!%2D%2D%20%2D%2D%3E-->"/detail/:uid?"} component={<!--{C}%3C!%2D%2D%20%2D%2D%3E-->Detail}></Route>

如何在页面上获取路由参数:

打印组件的this.props

获取动态路由参数

this.props.match.params.uid

? 如何获取search字符串 字符串

通过:this.props.location.search获取
解析:
const search = new URLSearchParams(this.props.location.search)
let name = search.get("name")
或者生成对象模式:
const search = new URLSearchParams(this.props.location.search)
let searchData = {};
for(let [key,value] of search.entries()){
	searchData[key] = value
}
console.log(searchData);

或者生成工具转变为对象:

String.prototype.toSearch = function () {
    let searchData = {}
    if (this.toString() != '') {
        const search = new URLSearchParams(this.toString())
        search.forEach((value, key) => {
            searchData[key] = value
        })
    }
    return searchData
}

到此这篇关于React前端路由应用介绍的文章就介绍到这了,更多相关React路由内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: React前端路由应用介绍

本文链接: https://www.lsjlt.com/news/168328.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • React前端路由应用介绍
    浏览器端的前端路由模式:hash模式,history模式 安装路由模块 路由模块不是react自带模块,需要安装第3方模块 // react-router-dom 它现在最新的版本...
    99+
    2022-11-13
  • Vue.js 前端路由和异步组件介绍
    目录文章目标P6P6+ ~ P7一、背景二、前端路由特性三、面试!!!四、Hash 原理及实现1、特性2、如何更改 hash3、手动实现一个基于 hash 的路由五、History ...
    99+
    2022-11-13
  • React中的前端路由怎么用
    这篇文章主要讲解了“React中的前端路由怎么用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“React中的前端路由怎么用”吧!一. url是什么访问不同url, 展示不同的组件二. 使用步...
    99+
    2023-06-30
  • react前端路由和后端路由的区别有哪些
    本篇内容主要讲解“react前端路由和后端路由的区别有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“react前端路由和后端路由的区别有哪些”吧! ...
    99+
    2022-10-19
  • React中前端路由的示例代码
    目录一. url是什么二. 使用步骤一. url是什么 访问不同url, 展示不同的组件 二. 使用步骤 安装React路由:命令行中执行npm install react-rout...
    99+
    2022-11-13
  • react-router-dom入门使用教程(前端路由原理)
    目录React路由相关理解 SPA的理解 路由的理解 前端路由原理(重点)react-router-dom@5 基本路由使用 一般组件与路由组件 路由API:Switch提高路由匹配...
    99+
    2022-11-13
    react-router-dom react-router-dom入门
  • React使用Context与router实现权限路由详细介绍
    目录前言思路实现向根组件注入权限列表抽离ContextHOC实现权限路由组件实现实现使用方法实现类似react-router-config的集中式权限路由配置实现使用方法前言 之前使...
    99+
    2023-01-28
    React权限路由 React Context权限路由 React router权限路由
  • React组件的应用介绍
    目录1. 介绍2. 组件的创建方式2.1 函数创建组件2.2 类组件3. 父子组件传值3.1 函数组件3.2 类组件1. 介绍 组件允许你将 UI 拆分为独立可复用的代码片段,并对每...
    99+
    2022-11-13
  • vue中单页应用如何实现前端路由
    这篇文章将为大家详细讲解有关vue中单页应用如何实现前端路由,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。通常 SPA 中前端路由有2种实现方式:window.histo...
    99+
    2022-10-19
  • 如何使用director.js实现前端路由
    这篇文章主要介绍了如何使用director.js实现前端路由,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。director.js是什么? 理...
    99+
    2022-10-19
  • 使用koa-router路由参数和前端路由的案例分析
    这篇文章将为大家详细讲解有关使用koa-router路由参数和前端路由的案例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。koa-router 定制路由时支持通过冒号...
    99+
    2022-10-19
  • React路由渲染方式与withRouter高阶组件及自定义导航组件应用详细介绍
    目录1. 路由的三种渲染方式1.1 component渲染方式1.2 render方式渲染1.3 案例-登录成功才能访问某个页面1.4 children方式渲染2. withRout...
    99+
    2022-11-13
  • 详解vue route介绍、基本使用、嵌套路由
    目录前言一、介绍、安装1.定义2.安装二、基本使用(代码后赋)三、嵌套路由1.布局逻辑2.效果展示3.代码四、注意前言 想要学习完整内容请关注主页的专栏——&...
    99+
    2022-11-13
  • React路由规则定义与声明式导航及编程式导航分别介绍
    目录1. 路由使用2. 声明式导航3. 编程式导航1. 路由使用 安装路由模块: 路由模块不是react自带模块,需要安装第3方模块: yarn add react-router-d...
    99+
    2022-11-13
  • React中用@符号编写文件路径实现方法介绍
    目录前言安装craco根路径下创建 craco.config.js写文件路径前言 无论是vue还是react开发,我们通常需要引入路径的便捷化配置,通常我们都会约定使用路径@作为根路...
    99+
    2022-11-13
  • react router 4.0以上路由应用的示例分析
    小编给大家分享一下react router 4.0以上路由应用的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!在4.0以下的react router中,嵌套的路由可以放在一个rou...
    99+
    2022-10-19
  • 如何使用React + Redux + React-router构建可扩展的前端应用
    这篇文章将为大家详细讲解有关如何使用React + Redux + React-router构建可扩展的前端应用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解...
    99+
    2022-10-19
  • 适用于React Native 旋转木马应用程序介绍
    目录正文如何使用它1.安装并导入 react-native-intro-carousel2.示例应用程序预览正文 一个带有分页功能的介绍页面旋转木马(onboarding)动画。 ...
    99+
    2022-11-13
    React Native 旋转木马 React Native
  • Vue Element前端应用开发之动态菜单和路由的关联处理
    目录概述1、菜单和路由的处理过程2、菜单和路由列表3、登录的过程处理概述 在我开发的很多系统里面,包括Winform混合框架、Bootstrap开发框架等系列产品中,我都倾向于动态配...
    99+
    2022-11-12
  • 怎么用原生js代码实现前端简易路由
    这篇文章主要讲解了“怎么用原生js代码实现前端简易路由”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用原生js代码实现前端简易路由”吧!路由到底是一个什么东西路由(routing)就是通...
    99+
    2023-06-30
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作