react一看就会的简单路由设置
不管是vue还是react 这种单页面的框架一定都少不了路由
下面给大家讲讲在实际项目中react的路由设置
第一步:
在src目录下新建一个目录route 在该目录下新建一个index.js用于管理路由
如:
import React ,{ Component } from 'react'
import {Switch,Route,Redirect} from 'react-router-dom'
import FristIndex from '../view/index/index'
import About from '../view/about/index'
import Book from '../view/book/index'
import Detail from '../view/detail/index'
import User from '../view/user/index'
class RouterIndex extends Component{
render(){
return(
<Switch>//switch用于匹配路由path
<Route path='/' exact render={()=>(//exact是用于精准匹配,这里是定义了路由重定向,意思是当我们进入"/"时会重定向到“/index”
<Redirect to='/index'/>
)}/>
<Route path='/index' component={FristIndex}/>
<Route path='/about' component={About}/>
<Route path='/book' component={Book} />
<Route path='/detail/:id' component={Detail}/>//注意这里的:id是为url设置参数 我们可以在detail组件下通过this.props.match.params.id获得
<Route path='/user/:id' component={User}/>
</Switch>
)
}
}
export default RouterIndex
第二步:
在src根目录下的顶层组件App.js中渲染第一步设置好的路由
import React, { Component } from 'react';
import { Popconfirm, message, Button ,Layout} from 'antd';
import RouterIndex from'./route/index';//引入路由管理js
import Com_head from './view/Com_head';
import Com_footer from './view/Com_footer';
require('./view/index.css')
class App extends Component {
render() {
return (
<div className='pageBox'>
<Com_head id='heads'/>//头部固定组件
<Layout.Content id='main'>
<RouterIndex/>//中间使用路由渲染
</Layout.Content>
<Com_footer id='footers'/>//底部固定组件
</div>
);
}
}
export default App;
第三步:
经过以上两步,我们就可以在具体的界面组件中通过Link 进行路由跳转了!
如:
import React from 'react'
import { Row,Col,Menu } from 'antd'//这里的antd为阿里封装的react组件库 Row /Col相当于bootstrap中栅格系统Menu相当于UL具体的可以参考ant.design官网
import {Link} from 'react-router-dom'
export default class Nav extends React.Component{
state = {
current: 'math',
}
handleClick = (e)=>{
this.setState({
current:e.key
})
}
render(){
const { classN,mdval,xsval,ulClassN,modeval } = this.props.pram
return(
<Col className={classN} md={mdval} xs={xsval}>
<Menu
className={ulClassN}
mode={modeval}
id={`${ulClassN==''?'xsNav':''}`}
onClick={this.handleClick}
selectedKeys = {[this.state.current]}
>
<Menu.Item key="math">
<Link to='/book/math'>数学</Link>
</Menu.Item>
<Menu.Item key="china">
<Link to='/book/china'>语文</Link>
</Menu.Item>
<Menu.Item key="pe">
<Link to='/book/pe'>体育</Link>
</Menu.Item>
<Menu.Item key="print">
<Link to='/book/print'>美术</Link>
</Menu.Item>
</Menu>
</Col>
)
}
}
---------------------
作者:永远在追求
来源:CSDN
原文:https://blog.csdn.net/weixin_41421227/article/details/80875807
版权声明:本文为博主原创文章,转载请附上博文链接!
react一看就会的简单路由设置的更多相关文章
- React入门看这篇就够了
摘要: 很多值得了解的细节. 原文:React入门看这篇就够了 作者:Random Fundebug经授权转载,版权归原作者所有. React 背景介绍 React 入门实例教程 React 起源于 ...
- [转]React入门看这篇就够了
摘要: 很多值得了解的细节. 原文:React入门看这篇就够了 作者:Random Fundebug经授权转载,版权归原作者所有. React 背景介绍 React 入门实例教程 React 起源于 ...
- vue.js路由vue-router(一)——简单路由基础
前言 vue.js除了拥有组件开发体系之外,还有自己的路由vue-router.在没有使用路由之前,我们页面的跳转要么是后台进行管控,要么是用a标签写链接.使用vue-router后,我们可以自己定义 ...
- thinkphp最简单路由
thinkphp最简单路由 一.总结 1.路由应用场景(前台要,后台不要):前台所有人都可以看,所以前台的话设置路由,后台的话并不是所有人都进去,所以不需要设置路由 2.模块分离来实现路由场景应用:前 ...
- Javascript实现前端简单路由
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta http ...
- begoo——路由设置
路由本质是URL与要为该URL调用的视图函数之间的映射表,其实就是你定义的使用那个URL调用那段代码的关系对应表. 首先看一下最简单的路由: package routers import ( &quo ...
- beego框架学习(二) -路由设置
路由设置 什么是路由设置呢?前面介绍的 MVC 结构执行时,介绍过 beego 存在三种方式的路由:固定路由.正则路由.自动路由,接下来详细的讲解如何使用这三种路由. 基础路由 从beego1.2版本 ...
- 【beego】beego的路由设置
beego 存在三种方式的路由:固定路由.正则路由.自动路由 基础路由 从 beego 1.2 版本开始支持了基本的 RESTful 函数式路由,应用中的大多数路由都会定义在 routers/rout ...
- xp多网卡静态路由设置方法
xp多网卡静态路由设置方法 一.多个IP都在同一网段或VALN.这类情况没什么好说的,在各块网卡的本地连接属性里设置好IP地址.子网掩码和默认网关即可. 二.多个IP属于不同网段或VLAN.这时如果按 ...
随机推荐
- Python的web编程
1.urlparse模块 urlparse.urlparse() 将一个url转化为(prot_sch, net_loc, path, params, query, frag)的元组 url ...
- 思路:当一个表嵌套另一个表时候 只需在dao中引入该mapper即可 进行正常的数据插入 查询 修改等
- pycharm中查看源码的快捷键
将光标移动至要查看的方法处,按住ctrl 点击鼠标左键,即可查看该方法的源码
- 如何下载旧版本的MySQL
可能存在这样的场景,比如一些老系统需要使用MySQL 5.5版本才能运行,其余的不行. 1.登录下载站点 https://dev.mysql.com/downloads/mysql/ 此时的最新版本为 ...
- GitHub大佬:供计算机学习鉴黄功能的图片数据库
ps:学无止境 想要构建一套鉴黄系统,必须有大量的真实图片供计算机进行学习,以便于区分开正常图片和黄色图片. 近期有位加拿大程序员在Github上传了图片列表,里面包含了大量图片地址可以供计算机进行学 ...
- windows新增/修改/删除系统环境变量bat示例,一键配置JAVA_HOME
setx JAVA_HOME "C:\Program Files\java\jdk1.6.0_27" /m setx classpath = ".;%JAVA_HOME% ...
- Matplotlib学习---用matplotlib画箱线图(boxplot)
箱线图通过数据的四分位数来展示数据的分布情况.例如:数据的中心位置,数据间的离散程度,是否有异常值等. 把数据从小到大进行排列并等分成四份,第一分位数(Q1),第二分位数(Q2)和第三分位数(Q3)分 ...
- redis主从复制和sentinel配置高可用
一:redis主从配置1.环境准备 master : 192.168.50.10 6179 slave1: 192.168.50.10 6279 slave2: 192.168.50.10 63792 ...
- docker命令篇
基础命令: 镜像: 获取镜像 $ docker pull centos:7 下拉自己仓库镜像,在后面仓库部分会讲到. 列出镜像: $ docker image ls 删除镜像: $ docker im ...
- os模块总结
学了忘,忘了学,忘了就来看一下...唯一进步的就是这次学的比上次更快了- - 最常用的几个: os.getcwd() # os.path.abspath(os.path.dirname(__fil ...