react 路由之react-router-dom
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的更多相关文章
- 【react路由】react 路由被自动加了个#
路由自动加#是由hashhistory造成: https://segmentfault.com/q/1010000012097148 单页面应用 前端跳转 or 服务器跳转: https://my.o ...
- react router @4 和 vue路由 详解(七)react路由守卫
完整版:https://www.cnblogs.com/yangyangxxb/p/10066650.html 12.react路由守卫? a.在之前的版本中,React Router 也提供了类似的 ...
- 七天接手react项目 系列 —— react 路由
其他章节请看: 七天接手react项目 系列 react 路由 本篇首先讲解路由原理,接着以一个基础路由示例为起点讲述路由最基础的知识,然后讲解嵌套路由.路由传参,最后讲解路由组件和一般组件的区别,以 ...
- react实战系列 —— React 中的表单和路由的原理
其他章节请看: react实战 系列 React 中的表单和路由的原理 React 中的表单是否简单好用,受控组件和非受控是指什么? React 中的路由原理是什么,如何更好的理解 React 应用的 ...
- react路由案例(非常适合入门)
前面已经已经讲过一次路由 稍微有些复杂 考虑到有些同学刚接触到 我准备了一个简单的demo 就当自己也顺便复习一下 data.js const data = [ { name: 'Ta ...
- react路由深度解析
先看一段代码能否秒懂很重要 这是app.js 全局js的入口 import React from 'react' import { render } from 'react-dom' import ...
- react路由的安装及格式和使用方法
react路由的安装: 在要创建项目的目录命令窗里输入: cnpm install -g create-react-app create-react-app 项目名 在创建好的项目目录命令窗里输入: ...
- react路由传值
在上一篇总结了react中路由的基本用法,实现了基本的页面跳转,但这肯定是不够用的,比如说在新闻列表页面,点击某一条新闻,希望页面能跳转到新闻详情页,又该如何实现呢? 首先继续上一篇的项目,添加一个新 ...
- react路由守卫
react没有vue那样的路由钩子beforeEach,实现登陆验证. 实现效果:如果没有登陆,就跳转到登陆界面,如果登陆过浏览器存有登陆信息就跳转到所输入的路由界面,如果该路由不存在则跳到404页面 ...
- React路由-基础篇
React-Router-DOM ReactRouter网址, 安装 -npmjs找到react-router-dom -yarn add react-router-dom 基本使用方法 1.创建一个 ...
随机推荐
- Java annotation浅析
自定义annotation @Documented@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.FIELD,ElementType.M ...
- python3-可变长度参数函数(*args 和 **kwargs)
简述: *args: 可变长度元组参数 **kwargs: 可变长度字典参数 ------------------------------------------------------- ...
- springMvc接收ajax数组参数,以及jquery复选框选中、反选、全选、全不选
一.复选框选中.反选.全选.全不选 html代码: <input type='checkbox' name='menuCheckBox' value='10' >苹果 <input ...
- xamarin android 开发
开始环境vs2017 直接创建android 项目,左边是android studio 的项目目录 右边是vs创建的android 项目目录 结构基本相同,有res对应的Resources文件 加载 ...
- 工作中拓展的加密解密传输方式. DES对称加密传输.
系统间通过xml传输, 不能采用明文, 就加密传输. 秘钥(真正有效的是前8位)存储于配置中. public static string EncryptStr(this string content, ...
- msf help.
root@Debian:~# msfconsole [-] ***rtiNg the Metasploit Framework console...- [-] * WARNING: No databa ...
- YUV介绍
YUV444与YUV422下采样. 一.YUV介绍 YUV有三个分量:Y(Luminance/Luma:亮度).U和V表示色差,体现的是图片的色彩信息.相对于RGB彩色空间,将亮度信息和色彩信息分离. ...
- 使用Microsoft自带的小工具将可执行文件(.exe)注册为系统服务
首先,我们从Microsoft下载Windows Resource Kits,Download 下载完成后,运行rktools.exe进行安装. 安装完成后,我们打开安装目录,将其中的"in ...
- Linq to SQL -- Insert、Update、Delete
Insert/Update/Delete操作 插入(Insert) 1.简单形式 说明:new一个对象,使用InsertOnSubmit方法将其加入到对应的集合中,使用SubmitChanges()提 ...
- WPF DEV gridcontrol当前项的数据导出为mdb文件
/// <summary> /// 导出为mdb /// </summary> /// <param name="sender"></pa ...