React嵌套路由

首页home.js

import React from 'react';

class Home extends React.Component {
    render () {
        return (
            <div>
                这是首页
            </div>
        )
    }
}
export default Home;


新闻news.js

import React from 'react';
import {Link,Route,Switch} from 'react-router-dom';
import Guoji from './guoji.js';
import Shehui from './shehui.js';

class Content extends React.Component {
    render () {

        return (
            <div>
                <Link to="/news/guoji">国际新闻 </Link>
                <Link to="/news/shehui">社会新闻</Link>

                {/*二级路由,也叫嵌套路由*/}
                <Switch>
                    <Route path="/news/guoji" component={Guoji}/>
                    <Route path="/news/shehui" component={Shehui}/>
                </Switch>
            </div>
        )
    }
}
export default Content;

 

新闻:国际新闻guoji.js

import React from 'react';

class GJ extends React.Component {
    render () {
        return (
            <div>
                这是国际新闻
            </div>
        )
    }
}
export default GJ;


新闻:社会新闻shehui.js

import React from 'react';

class SH extends React.Component {
    render () {
        return (
            <div>
                这是社会新闻
            </div>
        )
    }
}
export default SH;



主页index.js(嵌入首页和新闻)

import React from 'react';
import {BrowserRouter,Route,Switch,Link} from 'react-router-dom'; //BrowserRouter; Route路由; Switch路由匹配
import News from './news.js';
import Home from './home.js';
import './index.scss';

//把类当成函数的集合
class Main extends React.Component {

    render () {
        return (
            <div>
                <BrowserRouter>
                    <div className="nav">
                        <Link to="/home">首页</Link>
                        <Link to="/news/1/新闻1">新闻</Link>
                    </div>
                    <Switch>
                       {/*一级路由*/}
                        <Route path="/news" component={News}/>
                        <Route path="/" component={Home}/>   {/* 默认显示首页内容:把/home改成/  */}

                    </Switch>
                </BrowserRouter>
            </div>
        )
    }
}
export default Main;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值