react动态二级/三级路由操作

2023-11-01

一级路由就不写了,比较简单,下面是在一级页面mvvm中进行写入二级及三级路由页面

app.js中进行路由配置

 <Route exact path={"/mvvm"} component={Mvvm} />
 <Route exact path={`/mvvm/:page`} component={Mvvm} />
  <Route path={`/mvvm/:page/:id`} component={Mvvm} />

开始配置二级路由

import React, { Component } from 'react';
import Header from "../../components/Header"
import {observer,inject} from 'mobx-react';
import Vue from "./vue";
import Rreact from "./rreact";
import Ng from "./ng";
import { withRouter,NavLink,Switch,Redirect,Route} from 'react-router-dom';
@withRouter
@inject('first')
@observer

class index extends Component {
  constructor(props){
    super(props)
    this.state={
      current: 1,
    }
  }
    ifPage(params) {
        switch (params.page) {
          case "vue":
            return <Vue page={params.page}>vue</Vue>;
          case "rreact":
            return <Rreact>react</Rreact>
          case "ng":
            return <Ng>ng</Ng>
          default:
            return <ul>
                <li><NavLink to="/mvvm/vue">vue</NavLink></li>
                <li><NavLink to="/mvvm/rreact">react</NavLink></li> 
                <li><NavLink to="/mvvm/ng">Ng</NavLink></li>
            </ul>
            
        }
      }
      handleTab(index) {
        this.setState({
        });
        console.log(index + "1214");
      }
    render() {
        console.log(this.props.first)
        console.log(this.props);
        const { match } = this.props;
        return (
            <div>
                <Header/>
                <div className="mv_head">
                    {this.ifPage(match.params)}
                </div>
                    </div>
            </div>
        );
    }
} 

export default index;

配置三级路由

在上面代码中创建了三个二级路由页面然后下面再二级vue页面中操作三级路由页面

import React, { Component } from 'react';
import Vues from "./vues"
import { withRouter,NavLink,Switch,Redirect,Route,Link} from 'react-router-dom';
class vue extends Component {
    ifPage(params) {
        switch (params.id) {
          case "vues":
            return <Vues id={params.id}>vue</Vues>;
        
          default:
            return <ul>
                <NavLink to="/mvvm/vue/vues">vue二级</NavLink>
            </ul>
        }
      }
    render() {
        return (
                <p>{this.ifPage(this.props.match.params)}
                </p>

        );
    }
}

export default withRouter(vue);

文档结构

在这里插入图片描述
mvvm一级路由
vue/rreact/ng二级路由
vues是vue的三级路由

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

react动态二级/三级路由操作 的相关文章

随机推荐

  • 2022.6.1 C++——类型设计与实例化对象

    对象的创建与使用 对象的创建与使用 1 直接定义类的实例 对象 2 C 对象模型讨论 3 this指针的作用 对象是类的实例 声明一种数据类型只是告诉编译系统该数据类型的构造 并没有预定内存 类只是一个样板 图纸 以此样板可以在内存中开辟出
  • java 使用jdbc向mysql数据库中插入1亿条数据

    http blog csdn net home zhang article details 50836253 java view plain copy
  • 弱网压测环境 - tcconfig

    弱网压测环境 tcconfig 服务器性能指标 服务器接口的容错机制及重连机制需正常 服务器之间的网络通信需正常 服务器存储数据需一致及准确 请求不发生堆积 数据不发生错乱 弱网指标 带宽 吞吐量 单位时间内传输的数据量 单位通常是 每秒比
  • ROSE笔记-ctf.show_web2-WP

    ctf show web2 WP 直接是一个登录界面 在用户名处输入万能密码 admin or 1 1 显示了登陆信息 现在就是去找回显位置 用order by判断当前查询的列数 order by 4的时候登陆信息消失 而order by
  • 根据Modeller官网教程进行单模板建模

    Tutorial Basic Modeling https salilab org modeller tutorial basic html 1 搜索相关序列 从官网下载源文件 分析 TvLDH ali 存放目标序列 需满足要求的格式 gt
  • 异常处理函数set_exception_handler

    由于历史原因 php一开始被设计为一门面向过程的语言 所以异常处理没有使用像Java一样的 try catch 机制 出错时直接显示到页面上 或者记录到web服务器的错误日志中 并且php的错误分成了很多的级别 例如E ERROR E WA
  • 斐波那契数列(递归改进)

    题目 求斐波那契数列的第n项 写一个函数 输入n 求斐波那契数列的第n项 斐波那契数列的定义如下 大多数人看到后第一时间都会写出如下代码 递归 方法直观但时间效率低 long long Fibonacci unsigned int n if
  • 远程桌面连接不能复制粘贴怎么办 远程控制电脑无法复制粘贴的解决方法

    解决方法如下 第一步 打开远程桌面连接 点开电脑左下角的开始菜单 找到远程桌面连接 点开 如果你不常用远程桌面连接 那么这个图标就在附件里面 仔细找找就看到了 第二步 点开远程桌面连接的对话框 在对话框的左下角找到 显示选项 点开它 第三步
  • 数据加密标准(DES)概念及工作原理

    0x01 数据加密标准DES介绍 数据加密标准 Data Encryption Standard DES 是一种用于加密数字数据的对称密钥算法 密钥长度为56位 安全性不强 但它在密码学的进步中具有很大的影响力 0x02 数据加密标准历史
  • MySQL 锁

    文章目录 1 锁的种类 2 按兼容性划分 1 共享锁 2 排他锁 3 按锁粒度划分 1 表锁 2 行锁 3 注意 4 按锁模式划分 1 记录锁 2 间隙锁 3 临键锁 4 插入意向锁 5 意向锁 5 按加锁机制划分 1 悲观锁 2 乐观锁
  • 支付宝小程序集成mqtt兼容IOS和安卓

    1 前言 去年就想做支付宝小程序接入mqtt协议 但最终多方咨询 问客服问社区得到的答案都是支付宝小程序不能直接支持mqtt协议 偶然间发现徐宏大神的佳作 终于发现了xmqtt js这个好东西 它实现了支付宝小程序完美接入mqtt协议 设备
  • where、having、group by、order by、limit的区别和使用顺序

    where having group by order by limit的区别和使用顺序 姚文斌的博客 CSDN博客
  • 怎么让别人连接自己的数据库(MySQL)

    怎么让别人连接自己的数据库 MySQL update user set host where user root and host localhost flush privileges
  • 实现领域驱动设计----第一章

    带着问题上路 什么是领域驱动设计 是什么 为什么要做领域驱动设计 为什么要做 怎样做领域驱动设计 怎样做 其他的设计模式与领域驱动设计的区别 有类似为什么要做 但是是在取长补短的总结 译者序 就像在20世纪六七十年代出现了软件危机之后 面向
  • LINK : fatal error LNK1104: 无法打开文件“XXXXX.lib”解决方法

    1 首先我们一开始是配置包含的库目录 2 找到我们缺少XXXX lib对应的目录 确定 3 然后在链接器 输入 附加的依赖项中我们输入这个lib文件的全名 这一步按照实际情况添加 然后编译链接即可 主要原理分析 1 报错提示找不到这个lib
  • 玩转Mysql系列 - 第17篇:存储过程&自定义函数详解

    这是Mysql系列第17篇 环境 mysql5 7 25 cmd命令中进行演示 代码中被 包含的表示可选 符号分开的表示可选其一 需求背景介绍 线上程序有时候出现问题导致数据错误的时候 如果比较紧急 我们可以写一个存储来快速修复这块的数据
  • Ubuntu下的Nginx + Uwsgi + Django项目部署详细流程

    文章目录 前言 环境 工具 申请一个服务器 获取服务器实例 获取IP 配置安全组 配置放行端口 http www iszip com post 022714 html 连接服务器 配置用户 使用pyenv管理python版本 下载pyenv
  • sublime 搜索时忽略文件夹

    如上图 添加 folder exclude patterns 要忽略的文件夹 转载于 https www cnblogs com benchan2015 p 4949017 html
  • STM32------ADC实验

    目录 前言 一 库函数 1 ADC Init函数 2 ADC使能函数 3 ADC使能软件转换函数 4 ADC规则通道配置函数 5 ADC获取转换结果函数 6 实验目的 二 软件设计 1 adc c 2 adc h 前言 一 库函数 1 AD
  • react动态二级/三级路由操作

    一级路由就不写了 比较简单 下面是在一级页面mvvm中进行写入二级及三级路由页面 app js中进行路由配置