位置: IT常识 - 正文

react实现路由跳转(react路由exact)

编辑:rootadmin
react实现路由跳转 react通过路由实现页面跳转:

推荐整理分享react实现路由跳转(react路由exact),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:react路由跳转导致重新渲染,react路由跳转导致重新渲染,react router 路由跳转,reactjs路由跳转,react 路由跳转,react路由跳转刷新页面,react的路由,react的路由,内容如对您有帮助,希望把文章链接给更多的朋友!

​ 函数式路由(withRouter)使用原生js方法实现路由功能。

​ eg:export default withRouter(Home) Home是组件名称。

示例: class Home extends Component{ <button onClick={this.goForward}>下一级</button> goForward = () => { this.props.history.goForward() //函数式路由 {/* this.props.history.go(0) //正数表示调用几次goForward,负数表示调用几次goBack(),0表示刷新当前页面; this.props.history.goBack() //返回上一级 this.props.history.push('/home') //到哪去 this.props.history.replace() //替换当前路径 历史记录不再会有替换之前的路径 */} } }export default withRouter(Home) 一、准备工作:

​ 1、创建myProject05-router目录

​ 2、创建清单文件, npm init -y

​ 3、安装第三方依赖包,npm install react react-dom react-scripts react-router-dom@5 --save

​ 4、创建public文件夹,在该文件夹下创建index.html

​ 5、创建src文件夹,在该文件夹下创建:

​ (1)入口文件index.js

​ (2)组件App.js和App.css文件

​ (3)创建pages文件夹,在该文件夹下创建Home文件夹,在Home文件夹下创建Cates文件夹(Cates.jsx)和Goods文件夹(Goods.jsx、Goods.css),Home.jsx,Home.css;并在该文件夹下创建About.jsx和Resovle.jsx。

​ 9、src目录:

react实现路由跳转(react路由exact)

二、编写代码:

​ 1、index.html:

<div id="root"></div>

​ 2、index.js:

import ReactDOM from 'react-dom/client'import { BrowserRouter } from 'react-router-dom'import App from './App'const root = ReactDOM.createRoot(document.getElementById('root'))root.render( <BrowserRouter> <App/> </BrowserRouter>)

​ 3、App.js:

import React, { Component } from 'react'import {NavLink, Redirect, Route, Switch} from 'react-router-dom'import About from './pages/About'import Home from './pages/Home/Home'import Resovle from './pages/Resovle'import './App.css'export default class App extends Component { render() { return ( <div className='app'> {/* 制作导航菜单 */} <div className='tabs'> <NavLink to='/home'>首页</NavLink> <NavLink to='/resovle'>解决方案</NavLink> <NavLink to='/about'>关于我们</NavLink> </div> {/* 注册路由(其实就是路径和组件的映射关系) */} {/* 精准匹配 */} <Switch> <Route path='/home' component={Home}/> <Route path='/resovle' component={Resovle}/> <Route path='/about' component={About}/> <Redirect to='/home'/> </Switch> </div> ) }}

​ 4、App.css:

.app { width: 400px; margin: 10px auto;}.tabs { display: flex; flex-direction: rows;}.tabs a{ flex: auto; padding: 10px 30px ; background-color: #777; color: white; margin-right: 1px; text-decoration: none;}

​ 5、Home.jsx

import React, { Component } from 'react'import { NavLink, Redirect, Route, Switch } from 'react-router-dom'import Cates from './Cates/Cates'import Goods from './Goods/Goods'import './Home.css'export default class Home extends Component { render() { return ( <div className='home'> <div className='left'> <NavLink to='/home/cates'>分类</NavLink> <NavLink to='/home/goods'>商品</NavLink> </div> <div className='right'> <Switch> <Route path='/home/cates' component={Cates}/> <Route path='/home/goods' component={Goods}/> <Redirect to='/home/goods'/> </Switch> </div> </div> ) }}

​ 6、Home.css:

.home { margin-top: 10px; display: flex; flex-direction: rows; height: 200px;}.home .left { display: flex; width: 120px; flex-direction: column; background-color: skyblue; margin-right: 1px;}.home .left a { text-decoration: none; color: #333; padding: 10px 0; text-align: center;}.home .left .active { background-color: orange;}.home .right { flex: auto; background-color: greenyellow;}

​ 7、Cates.jsx:

import React, { Component } from 'react'export default class Cates extends Component { goForward = () => { this.props.history.goForward() } render() { return ( <div> <button onClick={this.goForward}>下一级</button> </div> ) }}

​ 8、Goods.jsx:

import React, { Component } from 'react'import './Goods.css'export default class Goods extends Component { push = () => { console.log(this.props); // this.props.history.push('/about') // this.props.history.replace('/about') //替换当前路径记录 少一条记录 } goBack = () => { this.props.history.goBack() } render() { return ( <div className='goods'> <button onClick={this.push}>跳转到about</button> <button onClick={this.goBack}>上一级</button> </div> ) }}

​ 9、Goods.css:

.goods .list{ display: flex; justify-content: space-around; background-color: plum;}.goods .list a { text-decoration: none; color: #333; margin: 10px;}

​ 10、About.jsx:

import React, { Component } from 'react'export default class About extends Component { render() { return ( <div>这是关于我们内容</div> ) }}

​ 11、Resolve.jsx:

import React, { Component } from 'react'export default class Resovle extends Component { render() { return ( <div>这是解决方案内容</div> ) }}三、运行命令:

​ npm react-scripts start

​ 也可以在清单文件中设置简写命令:“start”: “react-scripts start”

"scripts": { "start": "react-scripts start", "test": "echo \"Error: no test specified\" && exit 1" },

) { return (

这是解决方案内容

) } }

## `三、运行命令:`​[npm react-scripts start]()​也可以在清单文件中设置简写命令:["start": "react-scripts start"]()```json "scripts": { "start": "react-scripts start", "test": "echo \"Error: no test specified\" && exit 1" },
本文链接地址:https://www.jiuchutong.com/zhishi/299183.html 转载请保留说明!

上一篇:经典目标检测算法:RCNN、Fast RCNN、 Faster RCNN 基本思想和网络结构介绍(最新的目标检测算法2020)

下一篇:React初体验-Hello React的组件化方式-React入门小案例(react+go)

  • 华为mate40Epro怎么看流量(华为Mate40epro怎么清理运行)

    华为mate40Epro怎么看流量(华为Mate40epro怎么清理运行)

  • iphoneqq音乐怎么打开桌面歌词(iPhoneQQ音乐怎么开启桌面歌词)

    iphoneqq音乐怎么打开桌面歌词(iPhoneQQ音乐怎么开启桌面歌词)

  • 苹果手机电池健康掉的太快怎么办(苹果手机电池健康怎么保持)

    苹果手机电池健康掉的太快怎么办(苹果手机电池健康怎么保持)

  • 钉钉能同时看两个群直播吗

    钉钉能同时看两个群直播吗

  • 打开淘宝音乐就停了怎么办(打开淘宝音乐就停止播放)

    打开淘宝音乐就停了怎么办(打开淘宝音乐就停止播放)

  • 微型计算机中普遍使用的字符编码是什么吗(微型计算机中普遍使用的编码是)

    微型计算机中普遍使用的字符编码是什么吗(微型计算机中普遍使用的编码是)

  • 华为nova7和nova5pro区别(华为nova7和nova5pro充电器一样吗)

    华为nova7和nova5pro区别(华为nova7和nova5pro充电器一样吗)

  • 华为nova7可以反向充电吗(华为nova7可以反充吗)

    华为nova7可以反向充电吗(华为nova7可以反充吗)

  • 导热性好是散热快吗(导热性好的材料散热性好不好)

    导热性好是散热快吗(导热性好的材料散热性好不好)

  • 用热点连电脑老是断网怎么办(热点连电脑老是断)

    用热点连电脑老是断网怎么办(热点连电脑老是断)

  • oppo手机锁屏一直出现广告怎么办(oppo手机锁屏一直换图片)

    oppo手机锁屏一直出现广告怎么办(oppo手机锁屏一直换图片)

  • ipad第五代尺寸(ipad第五代尺寸A1822)

    ipad第五代尺寸(ipad第五代尺寸A1822)

  • i54460配什么主板(i54460玩大型游戏够用吗)

    i54460配什么主板(i54460玩大型游戏够用吗)

  • oppo手机没电怎么恢复电量(OPPO手机没电怎么开机)

    oppo手机没电怎么恢复电量(OPPO手机没电怎么开机)

  • 系统界面已停止运行是怎么回事(系统界面已停止运行怎么恢复平板)

    系统界面已停止运行是怎么回事(系统界面已停止运行怎么恢复平板)

  • unix属于什么操作系统(unix属于什么操作系统 单用户多任务)

    unix属于什么操作系统(unix属于什么操作系统 单用户多任务)

  • windows一键还原是什么意思(windows一键还原软件)

    windows一键还原是什么意思(windows一键还原软件)

  • 苹果x原装耳机怎么分辨(苹果X原装耳机多少钱一副)

    苹果x原装耳机怎么分辨(苹果X原装耳机多少钱一副)

  • 酷我音乐付费到期后还能听吗(酷我音乐付费到几点结束)

    酷我音乐付费到期后还能听吗(酷我音乐付费到几点结束)

  • 红米k20pro和小米9对比(红米k20pro和小米11青春版哪个好)

    红米k20pro和小米9对比(红米k20pro和小米11青春版哪个好)

  • 微信运动不联网计步吗(微信运动不联网会计数吗)

    微信运动不联网计步吗(微信运动不联网会计数吗)

  • no command是什么意思中文(no command是什么意思中文读书郎)

    no command是什么意思中文(no command是什么意思中文读书郎)

  • 王者荣耀段位分别是什么?(王者荣耀段位分段)

    王者荣耀段位分别是什么?(王者荣耀段位分段)

  • vue+el-upload 上传图片和视频小总结(vue上传文件和后端upload)

    vue+el-upload 上传图片和视频小总结(vue上传文件和后端upload)

  • 个体工商户的免税政策
  • 小规模旅行社差额征税的账务处理
  • 环保税退税优惠政策
  • 以前暂估的成本,年终要冲销怎么做账
  • 0申报是不是不需要填数据
  • 保证金可以挪用吗
  • 湖北省异地预缴增值税
  • 非居民企业适用的企业所得税税率
  • 出纳备用金管理制度
  • 提取资本公积会计凭证
  • 未认证的进项税账务处理
  • 国外客户手续费差异账务处理如何做?
  • 企业借个人款该交税吗
  • 母子公司之间转让土地使用权
  • 职工福利费发票不小心抵扣了汇算清缴
  • 水利基金减免政策2022
  • 出口转内销进项转出
  • 公司自持物业所承担的土地出让金是否可以抵扣呢?
  • 财产租赁所得适用什么税率
  • 企业自产自用需要交增值税吗
  • 商业承兑汇票贴现为什么是短期借款
  • 公司利润如何提高
  • 高新企业最新政策2020
  • win7电脑加入域
  • macbook 运行windows
  • PHP:curl_share_setopt()的用法_cURL函数
  • nginx apache php
  • 企业所得税扣除标准表
  • 新会计准则里的现金流量的公式
  • js怎么把时间戳转为日期yyyy-mm-dd
  • 前端vscode配置
  • 资产负债表利润表和现金流量表
  • yolo行人检测
  • 小规模拍卖公司怎么开票
  • 附加税从哪里进去申报
  • pytorch怎么入门
  • vf中显示命令
  • 存货盘点会计分录怎么做
  • 清单应该盖公章还是财务章
  • java拼接字符串和数字
  • 织梦怎么建站
  • vue2响应式原理面试回答
  • 土地使用发票
  • 数据库SQL中DML
  • 应收应付会计分录大全
  • 自然人独资交企业所得税吗
  • 其他综合收益会影响未分配利润吗
  • 租房交付确认书
  • 预付账款指的是哪些
  • 进项抵扣和销项抵扣
  • 商业会计主要做什么
  • 验资账户需要对账吗
  • 现金支付现金股利
  • 计提是好是坏
  • 人工费用和管理费用比例
  • 利润表中管理费用根据什么填
  • 核销预收账款是否需要计提增值税
  • 办公用水电费计入什么科目
  • mysql锁表的sql
  • 韩国电脑用什么系统
  • centos 启动gnome
  • 千元以内电脑
  • 将windows的文件上传到ubuntu
  • Ubuntu系统怎么设置IP
  • 任务栏图标右键
  • mbr是什么启动
  • win10mobile最新版本
  • win7命令提示符在哪
  • react 同级组件之间传值
  • bootstrap paginator分页插件的两种使用方式实例详解
  • unity连接数据库能做什么
  • auto.js粘贴代码
  • python 中 range
  • javascript用处
  • Unity3D游戏开发毕业论文
  • JavaScript浏览器扩展
  • jQuery使用ajax跨域获取数据的简单实例
  • 贸易公司的税率多少
  • 企业所得税年报职工薪酬纳税调整明细表
  • 个人出租平台有哪些
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设