router-router-dom之使用三

路由的嵌套

修改HOME.js中代码如下

 <div>
              您好我是首页
              <a href="/home/news">正在热映</a>
              <a href="/home/comming">即将上映</a>
              <div>
             <Switch>
              <Route path="/home/" component={News} exact/>
              <Route path="/home/news" component={News} exact/>
              <Route path="/home/comming" component={Comming} exact/>
               </Switch>
              </div>
            </div>

新建两个视图页面News 和Comming

import React, { Component } from 'react'

export default class Comming extends Component {
    render() {
        return (
            <div>
                这里是即将上映的代码
            </div>
        )
    }
}

import React, { Component } from 'react'

export default class News extends Component {
    render() {
        console.log(this.props)
        return (
            <div>
                这里是正在的热映的代码
            </div>
        )
    }
}

修改主路由 将home中严格匹配取消掉 不然子路由进不来

ReactDom.render(
    <Router>   
    <Switch>
    <Route path="/" component={App} exact />
    <Route path="/home" component={Home} />
    <Route path="/mine" component={Mine} exact />
    <Route path="/center/:id" component={Center} exact/>
    <Route path="/404" component={NotFound} exact/>
    <Redirect to={{
        pathname:"/"
    }}></Redirect>
    </Switch>
    </Router>
    ,document.getElementById("root"));

最好还可以匹配不到的重定向页面 NotFound视图代码如下

import React, { Component } from 'react'

export default class NotFound extends Component {
    render() {
        return (
            <div>
                没有找到该页面
            </div>
        )
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值