项目结构:

  

import React from 'react'
import {render} from 'react-dom'
import {BrowserRouter} from 'react-router-dom'

import App from './components/app'

render(
    (
        <BrowserRouter>
            <App/>
        </BrowserRouter>
    ),
    document.getElementById('root')
)

index.jsx

import React, {Component} from 'react'
import {NavLink, Switch, Route, Redirect} from 'react-router-dom'

import About from '../views/about'
import Home from '../views/home'

export default class App extends Component {
    render() {
        return (
            <div>
                <div className='row'>
                    <div className='col-xs-8 col-xs-offset-2'>
                        <div className='page-header'>
                            <h2>React Router Demo</h2>
                        </div>
                    </div>
                </div>
                <div className='row'>
                    <div className='col-xs-2 col-xs-offset-2'>
                        <div className='list-group'>
                            <NavLink className='list-group-item' to='/about'>about</NavLink>
                            <NavLink className='list-group-item' to='/home'>home</NavLink>
                        </div>
                    </div>
                    <div className='col-xs-6'>
                        <div className='panel'>
                            <div className='panel-body'>
                                <Switch>
                                    <Route path='/about' component={About}/>
                                    <Route path='/home' component={Home}/>
                                    <Redirect to='/home'/>
                                </Switch>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        );
    }
}

app.jsx

import React, {Component} from 'react'

export default class About extends Component {
    render() {
        return (
            <div>
                about route component
            </div>
        )
    }
}

about.jsx

import React, {Component} from 'react'

export default class Home extends Component {
    render() {
        return (
            <div>
                home route component
            </div>
        )
    }
}

home.jsx

30_react_router基本使用的更多相关文章

随机推荐

  1. guava-retrying 源码解析(时间限制策略)

    一.时间限制策略相关接口和类 什么是时间限制策略呢?是指在一个时间限制内,包装任何一种重试(尝试)规则,如果超过该限制,那么这个尝试规则可能会被中断,并抛出UncheckedTimeoutExcept ...

  2. windows文件服务器的磁盘空间挂载在linux目录下使用

    mount -t cifs //filesystem/serverbackup/SqlBackup/   /data/sqlbackup  -o username=sqlbackup.meizu.co ...

  3. 关于vuex和Promise reject 或.catch 的报错处理。

    在我们开发过程中,经常会使用vuex来管理接口请求和返回数据. 在vue组件页面使用computed来读取vuex中state的数据. getTaskList({ commit }, payload) ...

  4. python:3种爬虫的优缺点

                                                                 性能对比            爬取方法            性    能 ...

  5. U-Boot shell脚本语法

    /********************************************************************** * U-Boot shell脚本语法 * 说明: * 之 ...

  6. bzoj 2460 线性基

    #include<bits/stdc++.h> #define ll long long #define LL long long #define int long long using ...

  7. JavaScript数据类型(第一天)

    ECMAScript为JavaScript的标准,javascript为网景公司定义,但并不标准,所以欧洲的组织定义了ESMAScript,定义了网页脚本的标准. js组成 ECMAScript js ...

  8. 全志A33 lichee 搭建Qt App开发环境编写helloworld

    开发平台 * 芯灵思SinlinxA33开发板 淘宝店铺: https://sinlinx.taobao.com/ 嵌入式linux 开发板交流 QQ:641395230 Step 1 在虚拟机(Ce ...

  9. MySQL 中,字符串 0 和数字 0 的区别

    我的理解: 用户输入值后,MySQL 根据该字段的数据类型,来转换值.

  10. 【转】利用Boost.Python将C++代码封装为Python模块

    用Boost.Python将C++代码封装为Python模块 一.     基础篇 借助Boost.Python库可以将C/C++代码方便.快捷地移植到python模块当中,实现对python模块的扩 ...