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;

  

最新文章

  1. What is Heterogeneous Computing?
  2. 无效的过程调用或参数: &#39;Instr&#39;解决方法
  3. 菜鸟学SSH(十八)——Hibernate动态模型+JRebel实现动态创建表
  4. 代码规范--捡拾(SQL语句)
  5. 数独GUI程序项目实现
  6. (转)Unity控制反转和依赖注入
  7. windows新增/修改/删除系统环境变量bat示例,一键配置JAVA_HOME
  8. mysq存储金额的数值类型选择
  9. java JVM虚拟机
  10. 【Django】django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module.
  11. Sublime Text快捷键与插件介绍
  12. Daily Scrum NO.10
  13. WF控制台工作流(1)
  14. python 删除2天前后缀为.log的文件
  15. Extended VM Disk In VirtualBox or VMware (虚拟机磁盘扩容)
  16. goole机器学习视频链接【学习笔记】
  17. c++刷题(9/100):链表
  18. 四则运算(Android)版
  19. 移植gdb到海思3716板子的方法【转】
  20. js正则判断日期

热门文章

  1. spring Boot启动报错Initialization of bean failed; nested exception is java.lang.NoSuchMethodError: org.springframework.core.annotation.AnnotatedElementUtils.getAnnotationAttributes
  2. UVa 1614 奇怪的股市
  3. 非[无]root权限 服务器 下安装perl以及perl模块--转载
  4. MyEclipse2014 优化设置
  5. c++ primer plus 第三章 课后题答案
  6. js事件轮询机制
  7. Java JDK5新特性-增强for
  8. English trip -- VC(情景课) 7 B Clothing 服装
  9. LeetCode--136--只出现一次的数字
  10. Zepto常见问题