添加react-router
1、index.js 内容:
import React from 'react'
import ReactDOM from 'react-dom'
import { renderRoutes } from 'react-router-config'
import { BrowserRouter } from 'react-router-dom'
import routes from './js/routes'
import './index.css'
import registerServiceWorker from './registerServiceWorker' ReactDOM.render((
<BrowserRouter>
{renderRoutes(routes)}
</BrowserRouter>), document.getElementById('root'))
registerServiceWorker()
2、routes.js 内容
/**
* Created by Administrator on 2017/12/20.
*/
import Root from './Root';
import Home from './containers/Home'
import ManagerHome from './containers/ManagerHome'
import StaffHome from './containers/StaffHome'
import Login from './containers/Login' const routes = [
{
component: Root,
redirect: '/home',
routes: [
{
path: '/home',
// exact: true,
component: Home,
routes: [
{
path: '/home/ManagerHome',
component: ManagerHome,
},
{
path: '/home/StaffHome/:id',
component: StaffHome,
},
]
},
{
path: '/Login',
component: Login,
}
]
}
]; export default routes;
3、Root.js :
/**
* Created by Administrator on 2017/12/20.
*/
import React, {Component} from 'react';
import {renderRoutes} from 'react-router-config';
import MuiThemeProvider from 'material-ui/styles/MuiThemeProvider';
import '../images/font/iconfont.css'
import './Root.css' class Root extends Component {
render(props) {
console.log('------>Root');
let {route} = this.props;
return (
<MuiThemeProvider id="root" className="homeDiv">
{/* child routes won't render without this */}
{renderRoutes(route.routes)}
</MuiThemeProvider>
)
}
} export default Root;
4、Home.js (子路由):
/**
* Created by Administrator on 2017/12/20.
*/
import React, {Component} from 'react';
import homeService from '../service/homeService';
import {renderRoutes} from 'react-router-config' class Home extends Component {
constructor(props) {
super();
this.checkAuth();
} checkAuth() {
homeService.checkAuth().then(res => {
if (res.ispassed) {
let user = res.info;
if (user.type == '1')
this.props.history.push('/home/ManagerHome')
else
this.props.history.push('/home/StaffHome/'+user.id)
}
else
this.props.history.push('/Login')
})
} render() {
let {route} = this.props;
return (
<div>
{renderRoutes(route.routes, {someProp: 'these extra props are optional'})}
</div>
)
}
} export default Home;
添加react-router的更多相关文章
- React Router基础使用
React是个技术栈,单单使用React很难构建复杂的Web应用程序,很多情况下我们需要引入其他相关的技术 React Router是React的路由库,保持相关页面部件与URL间的同步 下面就来简单 ...
- react router 4.0以上的路由应用
thead>tr>th{padding:8px;line-height:1.4285714;border-top:1px solid #ddd}.table>thead>tr& ...
- 关于react router 4 的小实践
详细代码栗子:https://github.com/wayaha/react-dom-CY clone然后 npm install npm start 分割线 1.这个项目使用create-react ...
- React Router 4.x 开发,这些雷区我们都帮你踩过了
前言 在前端框架层出不穷的今天,React 以其虚拟 DOM .组件化开发思想等特性迅速占据了主流位置,成为前端开发工程师热衷的 Javascript 库.作为 React 体系中的重要组成部分:Re ...
- React Router教程
React Router教程 React项目的可用的路由库是React-Router,当然这也是官方支持的.它也分为: react-router 核心组件 react-router-dom 应用于浏览 ...
- React Router API文档
React Router API文档 一.<BrowserRouter> 使用HTML5历史记录API(pushState,replaceState和popstate事件)的<Rou ...
- React Router 用法
React Router 用法 一.DEMO import React from "react"; import { HashRouter as Router, Route, Li ...
- 笔记react router 4(二)
上一篇我们提到react router 4的dom特性.那么这一次,我们来说一说4.X中的路由组件嵌套. 用过3.X的同学应该知道,路由组件的嵌套(即,路由的配置)方式是通过给<Route> ...
- React Router基础教程
React是个技术栈,单单使用React很难构建复杂的Web应用程序,很多情况下我们需要引入其他相关的技术 React Router是React的路由库,保持相关页面部件与URL间的同步 下面就来简单 ...
- React Router学习
React Router教程 本教程引用马伦老师的的教程 React项目的可用的路由库是React-Router,当然这也是官方支持的.它也分为: react-router 核心组件 react-ro ...
随机推荐
- Kafka 及 PyKafka 的使用
1. Kafka 1. 简介 Kafka 是一种分布式的.分区的.多副本的基于发布/订阅的消息系统.它是通过 zookeeper 进行协调,常见可以用于 web/nginx 日志.访问日志.消息服务等 ...
- Ubuntu 14.04 执行指定用户的命令
#!/bin/bashsudo -u username /home/sco/start_server.sh 或者 #!/bin/bashsu - username -c /etc/init.d/xxx ...
- react新的生命周期
一. react16当前生命周期 componentWillMountrender前,所以setState不会重新渲染,服务端渲染唯一调用,推荐用constructor代替之 render compo ...
- js和css兼容问题
(一)html部分 1.H5新标签在IE9以下的浏览器识别 <!--[if lt IE 9]> <script type="text/javascript" s ...
- m_Orchestrate learning system---三十一、模板和需求的关系
m_Orchestrate learning system---三十一.模板和需求的关系 一.总结 一句话总结:模板为了适应广大用户,有很多功能样式,但是,你需要的只是部分,所以删掉不需要的,如果有需 ...
- Linux 虚拟内存和物理内存的理解
关于Linux 虚拟内存和物理内存的理解. 首先,让我们看下虚拟内存: 第一层理解 1. 每个进程都有自己独立的4G内存空间,各个进程的内存空间具有类似的结构 2. 一个新进程建立的时候,将会建立起自 ...
- Ubuntu安装NVIDA显卡驱动
0. 综述 电脑型号:R720 Ubuntu版本:16 显卡型号:1050ti 目前,知道3种安装N卡驱动的方法: 1. PPA源:最简便,但未必有最新驱动(亲测),或可能遇到问题(风闻). sudo ...
- LeetCode--141--环形链表
问题描述: 给定一个链表,判断链表中是否有环. 思路:用快的指针追慢的指针,只要有圈,一定能追上. 错误: class Solution(object): def hasCycle(self, hea ...
- 12月22日 update_columns,完成第9节。
Update_columns(attributes) //等同于update_column 直接更新database. 使用UPdate SQL 语法. ⚠️ :忽略了validations, Cal ...
- android------adb命令 pull或push手机和电脑文件交互
先说一下adb命令配置,如果遇到adb不是内部或外部命令,也不是可运行的程序或批量文件.配置下环境变量 1.adb不是内部或外部命令,也不是可运行的程序或批量文件. 解决办法:在我的电脑-属性-高级计 ...