添加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 ...
随机推荐
- HDU 6162 Ch's gift(树链剖分+线段树)
题意: 已知树上的每个节点的值和节点之间的关系建成了一棵树,现在查询节点u到节点v的最短路径上的节点值在l到r之间的节点值的和. 思路: 用树链剖分将树映射到线段树上,线段树上维护3个值,max,mi ...
- java 编程技巧
1. 参数可空: @注解表示修改的字段可为空值.看它的定义,可以修饰在方法,参数和字段(类似c#中的?)上. @Target({ElementType.METHOD, ElementType.PARA ...
- 机器学习-数据可视化神器matplotlib学习之路(二)
之前学习了matplotlib的一些基本画图方法(查看上一节),这次主要是学习在图中加一些文字和其其它有趣的东西. 先来个最简单的图 from matplotlib import pyplot as ...
- JS身份证验证
window.checkIdcard = function (idcard) { var errors = new Array( "yes", "请检查输入的证件号码是否 ...
- c++ primer plus 第三章 课后题答案
#include<iostream> using namespace std; int main() { ; int shen_gao; cout <<"Please ...
- 2018年全国多校算法寒假训练营练习比赛(第一场)C 六子冲
https://www.nowcoder.com/acm/contest/67/C 思路: 模拟. 代码: #include<bits/stdc++.h> using namespace ...
- PHP求并集,交集,差集
PHP求并集,交集,差集 一.总结 一句话总结:在php中如果我想要对两个数组进行如并集.交集和差集操作,我们可直接使用php自带的函数来操作如array_merge(),array_intersec ...
- Symbol的控件模板
<esriSymbols:TextSymbol x:Name="text1" Text="adadfdf"></esriSymbols:Tex ...
- Mac安装软件时 提示已损坏的解决方法
进入终端: sudo spctl --master-disable
- 12月12日 has_many through:的interference, option
has_many :products, through: :cart_items, source: :product build定义:collection.build(attributes = {}, ...