1安装react-router-dom
npm install react-router-dom --save-dev //这里可以使用cnpm代替npm命令
1 新建router文件
//引入 react-router-dom
import { HashRouter, Route, Switch, BrowserRouter as Router } from "react-router-dom";
//分别添加两个页面
import App from '../App';
import Home from '../Home';
const BasicRoute = () => (
<Router>
<Switch>
<Route exact path="/" component={App} activeClassName="active"/>
<Route exact path="/home" component={Home} activeClassName="active"/>
</Switch>
</Router>
);
export default BasicRoute;
2 index.js
//引入路由
import Router from './router/router';
//首先渲染的component
ReactDOM.render(<Router/>, document.getElementById('root')); 3 路由的跳转
import {
BrowserRouter as Router,
Route,
Link,
Prompt
} from "react-router-dom";
<Link to="/home">home</Link>
<input type="button" value="Home" onClick={this.goHome.bind(this)}/>
state 隐式传参
<Link to={{ pathname:'/home',state:{ type: 'id' }}} >home</Link>
query 隐式传参
<Link to={{ pathname:'/home',query:{ type: 'id' }}} >home</Link>
 {/* 离开页面时提示*/}
 <Prompt message="您确定要离开该页面吗?" /> 方法跳转
goHome() {
this.props.history.push({
pathname: '/Home',
state: {
id: 3
}
})
} //子页面 接受传值 (不同方式下的接受方式)

componentWillMount() {
   let _id = this.props.match.params.id,
         id = this.props.history.location.state,
        id1 = this.props.history.location.query;
        console.log("准备好了", _id, id, id1);

};

  

react 路由之react-router-dom的更多相关文章

  1. 【react路由】react 路由被自动加了个#

    路由自动加#是由hashhistory造成: https://segmentfault.com/q/1010000012097148 单页面应用 前端跳转 or 服务器跳转: https://my.o ...

  2. react router @4 和 vue路由 详解(七)react路由守卫

    完整版:https://www.cnblogs.com/yangyangxxb/p/10066650.html 12.react路由守卫? a.在之前的版本中,React Router 也提供了类似的 ...

  3. 七天接手react项目 系列 —— react 路由

    其他章节请看: 七天接手react项目 系列 react 路由 本篇首先讲解路由原理,接着以一个基础路由示例为起点讲述路由最基础的知识,然后讲解嵌套路由.路由传参,最后讲解路由组件和一般组件的区别,以 ...

  4. react实战系列 —— React 中的表单和路由的原理

    其他章节请看: react实战 系列 React 中的表单和路由的原理 React 中的表单是否简单好用,受控组件和非受控是指什么? React 中的路由原理是什么,如何更好的理解 React 应用的 ...

  5. react路由案例(非常适合入门)

    前面已经已经讲过一次路由   稍微有些复杂   考虑到有些同学刚接触到   我准备了一个简单的demo   就当自己也顺便复习一下 data.js const data = [ { name: 'Ta ...

  6. react路由深度解析

    先看一段代码能否秒懂很重要 这是app.js  全局js的入口 import React from 'react' import { render } from 'react-dom' import ...

  7. react路由的安装及格式和使用方法

    react路由的安装: 在要创建项目的目录命令窗里输入: cnpm install -g create-react-app create-react-app  项目名 在创建好的项目目录命令窗里输入: ...

  8. react路由传值

    在上一篇总结了react中路由的基本用法,实现了基本的页面跳转,但这肯定是不够用的,比如说在新闻列表页面,点击某一条新闻,希望页面能跳转到新闻详情页,又该如何实现呢? 首先继续上一篇的项目,添加一个新 ...

  9. react路由守卫

    react没有vue那样的路由钩子beforeEach,实现登陆验证. 实现效果:如果没有登陆,就跳转到登陆界面,如果登陆过浏览器存有登陆信息就跳转到所输入的路由界面,如果该路由不存在则跳到404页面 ...

  10. React路由-基础篇

    React-Router-DOM ReactRouter网址, 安装 -npmjs找到react-router-dom -yarn add react-router-dom 基本使用方法 1.创建一个 ...

随机推荐

  1. Java annotation浅析

    自定义annotation @Documented@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.FIELD,ElementType.M ...

  2. python3-可变长度参数函数(*args 和 **kwargs)

    简述: *args:    可变长度元组参数    **kwargs: 可变长度字典参数 ------------------------------------------------------- ...

  3. springMvc接收ajax数组参数,以及jquery复选框选中、反选、全选、全不选

    一.复选框选中.反选.全选.全不选 html代码: <input type='checkbox' name='menuCheckBox' value='10' >苹果 <input ...

  4. xamarin android 开发

    开始环境vs2017 直接创建android 项目,左边是android studio 的项目目录  右边是vs创建的android 项目目录 结构基本相同,有res对应的Resources文件 加载 ...

  5. 工作中拓展的加密解密传输方式. DES对称加密传输.

    系统间通过xml传输, 不能采用明文, 就加密传输. 秘钥(真正有效的是前8位)存储于配置中. public static string EncryptStr(this string content, ...

  6. msf help.

    root@Debian:~# msfconsole [-] ***rtiNg the Metasploit Framework console...- [-] * WARNING: No databa ...

  7. YUV介绍

    YUV444与YUV422下采样. 一.YUV介绍 YUV有三个分量:Y(Luminance/Luma:亮度).U和V表示色差,体现的是图片的色彩信息.相对于RGB彩色空间,将亮度信息和色彩信息分离. ...

  8. 使用Microsoft自带的小工具将可执行文件(.exe)注册为系统服务

    首先,我们从Microsoft下载Windows Resource Kits,Download 下载完成后,运行rktools.exe进行安装. 安装完成后,我们打开安装目录,将其中的"in ...

  9. Linq to SQL -- Insert、Update、Delete

    Insert/Update/Delete操作 插入(Insert) 1.简单形式 说明:new一个对象,使用InsertOnSubmit方法将其加入到对应的集合中,使用SubmitChanges()提 ...

  10. WPF DEV gridcontrol当前项的数据导出为mdb文件

    /// <summary> /// 导出为mdb /// </summary> /// <param name="sender"></pa ...