安装

npm i react-router-dom -- save

<Router basename="/admin">
  <Route path="/" exact component={()=>{<div>首页</div>}}>
  <Route path="/about" exact component={()=>{<div>关于</div>}}>
</Router>

重定向组件

Redirect 
import React from 'react';
import './App.css';
import { BrowserRouter as Router, Route, Link, Redirect } from 'react-router-dom' function LoginInfo(props) {
console.log(props) // 这是通过 state 传参
if(props.location.state.loginState === 'success') {
return (
<Redirect to="/admin"></Redirect>
)
}else {
return (
<Redirect to="/login"></Redirect>
)
}
} let login = ()=>{
let obj = {
pathname:'/logininfo',
state:{
loginState:'success'
}
}
return (
<div>
<Link to={obj} >登录</Link>
</div>
)
}
class App extends React.Component{
render(){
return (
<Router>
<Route path="/" exact component={()=>(<div>首页</div>)}></Route>
<Route path="/login" exact component={()=>(<div> <Link to="/logininfo?loginState='success'" >登录</Link> </div>)}></Route>
<Route path="/login" exact component={login}></Route>
<Route path="/logininfo" exact component={LoginInfo}></Route>
</Router>
)
}
} export default App;

switch  内部的Route 只匹配一次

class App  extends React.Component{
render(){
return (
<Router>
<Switch>
<Route path="/" exact component={()=>(<div>首页</div>)}></Route>
<Route path="/login" exact component={()=>(<div> <Link to="/logininfo?loginState='success'" >登录</Link> </div>)}></Route>
<Route path="/login" exact component={login}></Route>
<Route path="/logininfo" exact component={LoginInfo}></Route>
<Route path="/abc" exact component={()=>(<div>首页1</div>)}></Route>
<Route path="/abc" exact component={()=>(<div>首页2</div>)}></Route>
</Switch>
</Router>
)
}
}

不使用Link  按钮直接跳转

class ChildCom extends React.Component {
render() {
return (
<button onClick={this.show}>
点击回首页
</button>
)
}
show=()=>{
// console.log(this.props);
this.props.history.push("/",{msg:'给首页的数据'}) }
} class App extends React.Component{
render(){
return (
<Router>
<Route path="/" exact component={(props)=>{console.log(props);return(<div>首页</div>)}}></Route>
</Switch>
</Router>
)
}
}

react 05 router的更多相关文章

  1. ReactJS React+Redux+Router+antDesign通用高效率开发模板,夜间模式为例

    工作比较忙,一直没有时间总结下最近学习的一些东西,为了方便前端开发,我使用React+Redux+Router+antDesign总结了一个通用的模板,这个技术栈在前端开发者中是非常常见的. 总的来说 ...

  2. Nginx支持 React browser router

    修改nginx配置文件,添加try_file配置如下,即可实现对 React browser router 的支持. location / { root /var/www/mysite; try_fi ...

  3. react 装 router - yarn add react-router-dom@next

    react 装 router yarn add react-router-dom@next

  4. [React] react+redux+router+webpack+antd环境搭建一版

    好久之前搭建的一个react执行环境,受历史影响是webpack3.10.0和webpack-dev-server2.7.1的环境,新项目准备用webpack4重新弄弄了,旧的记录就合并发布了(在没有 ...

  5. [React] 05 - Route: connect with ExpressJS

    基础: 初步理解:Node.js Express 框架 参见:[Node.js] 08 - Web Server and REST API 进阶: Ref: 如何系统地学习 Express?[该网页有 ...

  6. 用react + redux + router写一个todo

    概述 最近学习redux,打算用redux + router写了一个todo.记录下来,供以后开发时参考,相信对其他人也有用. 注意: 我只实现了Footer组件的router,其它组件的实现方法是类 ...

  7. react在router中传递数据的2种方法

    概述 不传递数据叫什么单页面应用,渲染模块还需要http请求算什么单页面应用. 本文总结了react-router4中使用BrowserRouter时传递数据的两种方法,供以后开发参考,相信对其他人也 ...

  8. [React] 10 - Tutorial: router

    Ref: REACT JS TUTORIAL #6 - React Router & Intro to Single Page Apps with React JS Ref: REACT JS ...

  9. React学习(3)——Router路由的使用和页面跳转

    React-Router的中文文档可以参照如下链接: http://react-guide.github.io/react-router-cn/docs/Introduction.html 文档中介绍 ...

  10. React+React Router+React-Transition-Group实现页面左右滑动+滚动位置记忆

    2018年12月17日更新: 修复在qq浏览器下执行pop跳转时页面错位问题 本文的代码已封装为npm包发布:react-slide-animation-router 在React Router中,想 ...

随机推荐

  1. 如何使用ChatGPT来自动化Python任务

    1.概述 最近,比较火热的ChatGPT很受欢迎.今天,笔者为大家来介绍一下ChatGPT能做哪些事情. 2.内容 ChatGPT是一款由OpenAI开发的专门从事对话的AI聊天机器人.它的目标是让A ...

  2. Proxyless Mesh 在 Dubbo 中的实践

    背景 随着 Dubbo 3.1 的 release,Dubbo 在云原生的路上又迈出了重要的一步.在这个版本中添加了 Proxyless Mesh 的新特性,Dubbo Proxyless Mesh ...

  3. Zabbix与乐维监控对比分析(八)——其他功能篇

    前面我们详细介绍了Zabbix与乐维监控的架构与性能.Agent管理.自动发现.权限管理.对象管理.告警管理.可视化.图形图表及网络功能方面的对比分析,接下来我们将对二者其他功能进行对比分析. 本篇是 ...

  4. Stream流中的常用方法_Foreach-Stream流中的常用方法_filter

    Stream流中的常用方法_Foreach 流模型的操作很丰富,这里介绍一些常用的API.这些方法可以被分成两种︰·延迟方法∶返回值类型仍然是Stream,接口自身类型的方法,因此支持链式调用.(除了 ...

  5. 我为什么要放弃RESTful,选择拥抱GraphQL

    背景 REST作为一种现代网络应用非常流行的软件架构风格,自从Roy Fielding博士在2000年他的博士论文中提出来到现在已经有了20年的历史.它的简单易用性,可扩展性,伸缩性受到广大Web开发 ...

  6. SQLSERVER 阻塞之 PFS 页到底是什么?

    一:背景 1. 讲故事 在 SQLSERVER 的众多阻塞场景中,有不小的一部分是由于 PFS 页上的 闩锁 等待造成的,毕竟写页操作一定是要串行化的,在面对 闩锁(PAGELATCH_X) 等待问题 ...

  7. 力扣---45. 跳跃游戏 II

    给定一个长度为 n 的 0 索引整数数组 nums.初始位置为 nums[0].每个元素 nums[i] 表示从索引 i 向前跳转的最大长度.换句话说,如果你在 nums[i] 处,你可以跳转到任意 ...

  8. (原创)【B4A】一步一步入门04:编译模式、打包为APK、私钥签名

    一.前言 上篇 (原创)[B4A]一步一步入门03:APP名称.图标等信息修改 中我们将APP做成了标准的样子. 本篇文章会讲解如何将程序打包成APK文件以分发,同时讲解如何制作私钥并签名APP,以用 ...

  9. ctfshow_web入门 xss

    额,怎么说呢,对xss理解不深刻,虽然做了XSS-LAB,但是感觉不会用,看了群主的视频,知道了原因,用群主的话来说就是,X的是自己... 这个文章写得比较潦草... 准备一个带nc的工具: 无vps ...

  10. JZOJ 2022.07.06【提高组A】模拟

    历程 被暴打了 原因是钻进了 \(T4\) 的坑中... 先看完题,发现 \(T4\) 比较有意思,\(T2\) 没有想法 \(T3\) 挺容易,做法似乎很好想 \(T1\) 送分,十几分钟搞定 然后 ...