dvajs 中实现首页导航路由嵌套(利用dvajs创建前端页面)

2023-10-26

react-router3.0 升级为react-router4.0后不再支持 多个<Route>并列在一个<Router>组件中,而要包含<Switch>

react-router3.0中嵌套路由写法:

    <Router history={history}>
         <Route path='/' component={IndexPage}>
           <Route path='/bar' component={Bar}/>
           <Route path='/line' component={Line}/>
         </Route>
    </Router>

但是发现,地址栏在变化但是页面没有变化,因为在react-router 4.0版本中不支持这种写法,而要改用以下写法

    <Router history={history}>
       <Switch>
         <IndexPage path='/' component={IndexPage}>
           <Route path='/bar' component={Bar}/>
           <Route path='/line' component={Line}/>
         </IndexPage>
       </Switch>
    </Router>

这样地址栏变化的同时也可以页面也在变化。

    <Router history={history}>
       <Switch>
         <IndexPage path='/' component={IndexPage}>
           <Route path='/bar' component={Bar}/>
           <Route path='/line' component={Line}/>
           <Redirect to='/bar'/>
         </IndexPage>
       </Switch>
    </Router>

为了初始化不为空界面,可以重定向其中一个界面。

以上实现方式在页面中使用{this.props.children}来显示路由

<Sider className="site-layout-background" width={200}>
              <Menus />
</Sider>
<Content style={{ padding: '0 24px', minHeight: 280 }}>
              {this.props.children}
              {/*<Switch>*/}
              {/*  <Route path="/bar" component={Bar}/>*/}
              {/*  <Route path='/line' component={Line}/>*/}
              {/*  <Redirect to='/bar'/>*/}
              {/*</Switch>*/}
</Content>

当然也可可以用第二种方式,在主路由中自定义一个主页面,在展示组件中,调用上面注释的路由方式。注意在路由中不能加eact这个关键字,不然路由无法显示。

实例代码:测试代码

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

dvajs 中实现首页导航路由嵌套(利用dvajs创建前端页面) 的相关文章

  • chrome浏览器安装redux-devtools调试工具

    chrome浏览器安装redux devtools调试工具 1 点击进入https www chromefor com 2 在搜索框搜索redux 3 找到最新版本 Redux DevTools v2 17 0 进行下载 4 选择下载线路
  • vue打包及运行白屏,Android低版本适配

    版本支持 对于Android 4 X无法打开的问题 具体表现 1 运行后低版本谷歌浏览器打开后白屏 2 打包后低版本Android系统打不开 白屏 打包前npm run build后低版本浏览器打开白屏 如果低版本打开白屏那么打包后低版本A
  • Vite搭建react+ts项目

    创建一个react项目 首先需要打开终端 进行vite的引入 yarn create vite 使用react模板创建项目 yarn create vite react test template react cd react test y
  • 组件间样式覆盖问题--CSS Modules

    1 组件间样式覆盖问题 问题 CityList 组件的样式 会影响 Map 组件的样式 原因 在配置路由时 CityList 和 Map 组件都被导入到项目中 那么组件的样式也就被导入到项目中了 如果组件之间样式名称相同 那么一个组件中的样
  • 【react】新旧生命周期对比

    componentWillUpdate componentWillReceiveProps componentWillMount 上述这三个生命周期在V18以上的版本中 使用时要加上UNSELF name
  • 关于Vue.js和React.js,听听国外的开发者怎么说?

    VueJS 与 ReactJS 到底怎么样如何 听听别人怎么说 使用所有新的库和框架 很难跟上所有这些库和框架 也就是说 这就需要您决定哪些是值得花时间的 让我们看看人们说什么 和Vue JS一起工作是很愉快的 我发现学习曲线很浅 然而 这
  • hook中使用ref使用

    对于antd的fom表单 hook使用ref import React useState useEffect useRef from react const dateRef useRef dateRef current setFieldsV
  • React之state、hooks性能分析

    目录 一 state 1 为什么使用setState 2 setState异步更新 3 如何获取异步的结果 4 setState一定是异步吗 5 源码分析 6 数据的合并 7 多个state的合并 二 为什么需要Hook 三 Class组件
  • React官方文档--Lifting State Up

    Lifting State Up 如果 几个组件需要同时影响并且修改同一个数据 我们建议将这个共享状态进行提升 给他们最近的共同祖先 在这个部分 我们将要创建一个温度计算器来判断水会不会在给定温度下沸腾 我们将从一个叫做BoilingVer
  • React实现关键字高亮

    先看效果 实现很简单通过以下这个函数 highLight text keyword gt return text split keyword flatMap str gt span keyword span str slice 1 展示某段
  • 【react】回调函数形式的ref

    回调函数有3个特点 是我定义的函数 我没有调用这个函数 在我没有调用的情况下这个函数自己执行了 ref绑定一个箭头函数作为回调函数 可以输出以下这段看下 ref绑定的箭头函数是会自己执行的 class Demo extends React
  • React、Vue2.x、Vue3.0的diff算法

    前言 本文章不讲解 vDom 实现 mount 挂载 以及 render 函数 只讨论三种 diff 算法 VNode 类型不考虑 component functional component Fragment Teleport 只考虑 E
  • 【React】 4课 react初识组件

    首先我们如1课创建一个文件夹在文件夹中安装react环境需要的配置文件 npm init y npm i babel standalone D npm i react react dom D 安装配置文件教程链接 https blog cs
  • react之封装有无Token(路由权限控制)的高阶组件

    TOC 前景 有些路由页面内的内容信息比较敏感 如果用户没有经过登录获取到有效Token 是没有权限跳转的 根据Token的有 无控制当前路由是否可以跳转就是路由的权限控制 技术方案 实现步骤 1 在 components 目录中 创建 A
  • ES6 面试题 | 13.精选 ES6 面试题

    前端开发工程师 主业 技术博主 副业 已过CET6 阿珊和她的猫 CSDN个人主页 牛客高级专题作者 在牛客打造高质量专栏 前端面试必备 蓝桥云课签约作者 已在蓝桥云课上架的前后端实战课程 Vue js 和 Egg js 开发企业级健康管理
  • 如何提高React组件的渲染效率的?在React中如何避免不必要的render?

    面试官 说说你是如何提高组件的渲染效率的 在React中如何避免不必要的render 一 是什么 react 基于虚拟 DOM 和高效 Diff 算法的完美配合 实现了对 DOM 最小粒度的更新 大多数情况下 React 对 DOM 的渲染
  • React Jsx转换成真实DOM过程?

    面试官 说说React Jsx转换成真实DOM过程 一 是什么 react 通过将组件编写的 JSX 映射到屏幕 以及组件中的状态发生了变化之后 React 会将这些 变化 更新到屏幕上 在前面文章了解中 JSX 通过 babel 最终转化
  • 如何提高React组件的渲染效率的?在React中如何避免不必要的render?

    面试官 说说你是如何提高组件的渲染效率的 在React中如何避免不必要的render 一 是什么 react 基于虚拟 DOM 和高效 Diff 算法的完美配合 实现了对 DOM 最小粒度的更新 大多数情况下 React 对 DOM 的渲染
  • 前端基础:回顾es6相关知识

    Author note 题记 ECMAscript is international standard of javascript ECMA 是 js的国际标准版语言 let and const 为什么之前用var现在需要用let cons
  • 【ES6】解构语句中的冒号(:)

    在解构赋值语法中 冒号 的作用是为提取的字段指定一个新的变量名 让我们以示例 const billCode code version route query 来说明 billCode code version 表示从 route query

随机推荐

  • 2022年最新前端面试题,持续更新

    js面试题 1 js数据类型 基本数据类型 Number String Boolean Null Undefined Symbol bigInt 引用数据类型 object Array Date Function RegExp 2 js变量
  • surf特征原理

    前言 也许我们使用过Uiautomator编写过自动化测试脚本 也许我们也使用过Monkey来测试过应用的稳定性 但在使用过程中总觉得有或多或小的问题 用Uiautomator写脚本 总觉得有时候控件没法识别 用Monkey来进行稳定性测试
  • Oracle SQL developer不显示dbms_output.put_line的输出内容

    1 调出dbms输出窗口 2 dbms选择对应的数据库连接 3 工作区SQL文件 定义一个触发器 create trigger newtmpdata 创建触发器newtmpdata 在tmp中添加新数据 after insert 插入操作之
  • yolo算法通俗易懂讲解

    参考 https blog csdn net briblue article details 103149407 depth 1 utm source distribute pc relevant none task utm source
  • .NET[C#]LINQ查询List集合中所有重复的元素如何实现?(转载)

    NET C LINQ查询List集合中所有重复的元素如何实现 转载 方案一 var query lst GroupBy x gt x Where g gt g Count gt 1 Select y gt y Key ToList 如果还需
  • C#,去除字符串指定的之字符,并去掉不可见的 “”一种方法。

    string str1 小王 心情 很 平 静 char chs1 new char 定义一个字符数组 存放上面字符串中不要的内容 和 string result1 str1 Split chs1 StringSplitOptions Re
  • 关于Adapter数据适配器

    适配器 什么是适配器 Android适配器是数据和视图之间的桥梁 以便于数据在View上显示 适配器就像显示器 把复杂的东西按人可以接受的方式来展现 Adapter数据适配器将各种数据以合适的形式绑定到控件上 像listview gridv
  • MyBatis框架——MyBatis执行SQL的两种方式(转载)

    本节主要介绍 MyBatis 执行 SQL 语句的两种方式和它们的区别 MyBatis 有两种执行 SQL 语句的方式 如下 通过 SqlSession 发送 SQL 通过 SqlSession 获取 Mapper 接口 通过 Mapper
  • ajax 无参请求,ajax无参请求学习

    ajax 点击 请求流程 test html代码流程 创建button按钮 为button绑定一个点击事件 函数 在函数内书写ajax代码 2 1 创建ajax对象 2 2 设置onreadystatechange属性 用来监听变化 如果有
  • 数据结构视频教程 -《数据结构视频教程 严蔚敏》

    整个视频打包下载地址 史上最全的数据结构视频教程系列分享之 数据结构视频教程 严蔚敏 转载请保留出处和链接 更多优秀资源请访问 我是码农 严蔚敏老师是清华大学计算机系教授 长期从事数据结构教学和教材建设 本教程是数据结构视频教程中的经典之作
  • Spring(十二):bean的加载——创建bean

    回顾 前面已经看了在加载Bean的时候 如何去解决循环依赖的问题 解决完循环依赖 就到创建Bean的步骤了 而创建bean的步骤是紧紧接着 创建Bean实例 Bean根据范围会分为几种 单例 原型 自定义范围 每种范围都会有自己不同的生命周
  • 【Altium designer】PCB 各层简介

    1 Signal Layer 信号层 主要用于放置元件和走线 Top Layer 顶层 Bottom Layer 底层 Mid Layer 中间信号层 2 Mechanical Layer 机械层 3 Keep Out Layer 禁止布线
  • Linux内核:内存管理——内存回收

    概述 当linux系统内存压力就大时 就会对系统的每个压力大的zone进程内存回收 内存回收主要是针对匿名页和文件页进行的 对于匿名页 内存回收过程中会筛选出一些不经常使用的匿名页 将它们写入到swap分区中 然后作为空闲页框释放到伙伴系统
  • c++学习之多态案例--电脑组装

    代码示例 include
  • Mysql事务隔离级别与锁机制

    文章目录 事务及其ACID属性 并发事务处理带来的问题 隔离级别 锁 表锁测试 行锁测试 仅限innodb 幻读测试 可重复读和java代码之间的问题 间隙锁 Gap Lock 和 临键锁 Next key Locks 意向锁 表级别的锁
  • linetime.css,时间线图绘制(time-line)

    效果 image png vue 单文件组件 v startTime substring 10 16 v startTime substring 5 10 v name v state v startTime export default
  • pandas将一列分割成多列

    示例数据 import pandas as pd from pandas import Series DataFrame consum pd read csv consum csv encoding ANSI consum 消费时间 要将
  • 学习pytorch: 深度学习入门建议

    0 简介 本文主要介绍了使用pytorch作为框架入门深度学习 其中第1节 深度学习入门 内容较多 建议边看第1节边实践第2节 Pytorch入门 中的内容 主要是2 1和2 2 1 深度学习入门 网上的资源非常多 这里重点推荐一个资源 斯
  • 如何下载MySQL的JDBC驱动包

    1 打开 MySQL 官网 https www mysql com 2 点击 DOWNLOADS 把页面滚动到最下面 点击 MySQL Community GPL Downloads 3 点击 Connector J 4 点击 Genera
  • dvajs 中实现首页导航路由嵌套(利用dvajs创建前端页面)

    react router3 0 升级为react router4 0后不再支持 多个