位置: 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)

  • 小规模纳税人购车好处
  • 广东税务师报名条件
  • 固定资产的折旧费用计入什么科目
  • 土地使用权契税入账会计分录
  • 销项减进项余额在哪方
  • 在电子税务里怎么查以前年度亏损数据
  • 国税地税合并后叫什么名称
  • 律师费的发票税率怎么算
  • 酒店怎么合理规划管理
  • 租赁植物费用
  • 农产品收购发票图片
  • 海关的消费税怎么计算
  • 库存商品的账面余额是什么意思
  • 纳税申报表未开票收入可以填负数吗
  • 公司变更监事需要换营业执照吗?
  • 企业对外投资需要哪些审批
  • 验旧作废发票遗失了如何验旧?
  • 产品质量认证的基本条件有哪些
  • 合伙企业对外投资收益怎么纳税
  • 固定资产出售时增值税怎么处理
  • 税局代开专票季度未达起征点怎么缴纳地税?
  • 取得其他权益工具投资发生的交易费用
  • 计提长期债券利息分录
  • 如何生成系统图
  • 安卓系统详解
  • realjbox.exe - realjbox是什么进程 作用是什么
  • macOS 11 Big Sur 开发者预览版 Beta 7正式推送
  • PHP:oci_fetch_array()的用法_Oracle函数
  • jsPDF + html2canvas A4分页截断 完美解决方案(含代码 + 案例)
  • 油气勘探支出包含哪些
  • 废旧物资处理怎么入账
  • 去年买的设备今年入固定资产如何做账
  • vuecli打包项目
  • 最全vue项目实战
  • 愚公全名
  • Chatgpt私有化部署(全流程)
  • 魔改apk
  • 关联公司代缴社保会计处理
  • 电梯安装行业分类
  • 小规模纳税人附加税会计分录
  • lldb python
  • 所得税申报表是什么
  • 中国移动发票抬头开错了可以重开吗
  • 经营性应付项目的增加为什么调减
  • 已纳消费税扣除会计分录
  • 非独立核算增值税汇总缴纳吗
  • 销售货物的收入计入什么科目
  • 购进消耗品怎么做账
  • 应收账款和应付账款的管理
  • 疫情期间公司购买物品
  • 无形资产的处置方式有哪些
  • 净利润增长率的影响因素
  • 税率计税依据
  • 城镇土地税需要计税吗
  • 房屋出租要交的税有哪些
  • 退货时的会计分录怎么做
  • 一家公司一定要有一个社保吗
  • 建账是不是只需要科目余额表
  • 各种会计凭证的填制
  • sql server查询指定内容
  • sql语句查询去重
  • Windows Server 2003将于7月14日停服 想用收费
  • windows8.1大小
  • ubuntu18.04环境变量
  • linux磁盘格式化后一定会清空数据吗
  • centos7.6 iptables
  • windows8.1正版
  • windows 10 mobile--移动版
  • win10预览文件怎么显示内容
  • 电脑win10显卡驱动
  • cocos2d动画
  • glClearBufferSubData
  • json的用法
  • jquery删除节点的元素
  • 根据公司发展需求
  • opencv for linux
  • js的点击事件怎么做
  • jquery简单例子
  • JavaScript File API文件上传预览
  • 公民海外收入纳税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设