react项目实战 5 嵌套路由实现TabBar

本文详细介绍了如何在React中使用嵌套路由实现有TabBar和无TabBar页面的切换。通过在`pages`目录下创建组件,然后在`Home`组件中引入并设置子路由,实现了子路由`/home/news`在父路由`/home`中的显示。当地址栏路径改变时,页面会相应地展示不同内容。这一过程涉及到了React Router的使用和父子路由的交互原理。
摘要由CSDN通过智能技术生成

 有两种页面,一种是有TabBar的页面,如下图; 一种是无TabBar的页面

有TabBar的页面使用嵌套路由来实现

嵌套路由:路由内部包含路由
 

使用步骤
1 在pages文件夹创建News/index.js组件(子路由要展示的内容)

import React from "react"
export default class News extends React.Component{
    render(){
        return <div style={{background:'yellow',padding:10}}>
            这是news组件的内容,是子路由的内容</div>
    }

}


2 在Home组件中,添加一个Route作为子路由(嵌套路由)的出口
3 设置嵌套路由的path,格式以父路由path开头(父组件展示、子组件才会展示)

Home/index.js

import React from "react"

//导入路由
import {Route} from "react-router-dom"
//导入News组件
import News from "../News/index"

export default class Home extends React.Component {
    render() {
        return <div style={{background:'skyblue',padding:10}}>
            首页页面
            {/*渲染子路由*/}
            <Route path="/home/news" component={News}></Route>
        </div>
    }

}

父路由的path是"/home"

 子路由的path是"/home/news"

 效果

地址栏路径的pathname为父路由

 修改地址栏路径的pathname为子路由

 备注:蓝色部分就是父路由Home,黄色部分就是子路由news (父路由嵌套着子路由)

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值