首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

react js路由器路由到嵌套路由器中的外部路由器

基础概念

React Router 是 React 应用中用于实现客户端路由的库。它允许你在不同的组件之间进行导航,而无需重新加载整个页面。嵌套路由是指在一个路由组件内部再定义子路由,这样可以实现更复杂的页面结构。

相关优势

  1. 声明式路由:React Router 使用声明式的方式来定义路由,使得代码更加清晰和易于维护。
  2. 嵌套路由:支持嵌套路由,可以轻松实现复杂的页面结构。
  3. 动态路由:可以根据参数动态匹配路由,提供更灵活的路由配置。
  4. 历史管理:内置了 HTML5 History API,可以方便地进行页面导航和历史记录管理。

类型

  1. BrowserRouter:使用 HTML5 History API 实现路由。
  2. HashRouter:使用 URL 的 hash 部分实现路由。
  3. MemoryRouter:在内存中维护路由状态,适用于服务器渲染等场景。

应用场景

  • 单页应用(SPA):React Router 是构建单页应用的理想选择。
  • 复杂页面结构:嵌套路由可以很好地处理复杂的页面结构,如仪表盘、管理后台等。

问题:路由到嵌套路由器中的外部路由器

为什么会这样?

当你尝试从一个嵌套路由导航到一个外部路由时,可能会遇到问题。这是因为嵌套路由的路径是相对于其父路由的路径来定义的,而外部路由的路径是全局的。

原因是什么?

嵌套路由的路径是相对于其父路由的路径来定义的,而外部路由的路径是全局的。当你在嵌套路由中尝试导航到一个外部路由时,React Router 可能无法正确解析路径,导致导航失败。

如何解决这些问题?

你可以使用 useHistory 钩子或 withRouter 高阶组件来实现从嵌套路由导航到外部路由。

示例代码
代码语言:txt
复制
import React from 'react';
import { BrowserRouter as Router, Route, Link, useHistory } from 'react-router-dom';

const Home = () => <div>Home</div>;
const About = () => <div>About</div>;
const Dashboard = () => (
  <div>
    <h1>Dashboard</h1>
    <NestedRoute />
  </div>
);
const NestedRoute = () => {
  const history = useHistory();

  const handleNavigateToAbout = () => {
    history.push('/about');
  };

  return (
    <div>
      <h2>Nested Route</h2>
      <button onClick={handleNavigateToAbout}>Go to About</button>
    </div>
  );
};

const App = () => (
  <Router>
    <nav>
      <ul>
        <li>
          <Link to="/">Home</Link>
        </li>
        <li>
          <Link to="/about">About</Link>
        </li>
        <li>
          <Link to="/dashboard">Dashboard</Link>
        </li>
      </ul>
    </nav>
    <Route path="/" exact component={Home} />
    <Route path="/about" component={About} />
    <Route path="/dashboard" component={Dashboard} />
  </Router>
);

export default App;

参考链接

通过这种方式,你可以轻松地从嵌套路由导航到外部路由,而无需担心路径解析问题。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

什么是路由器,路由器用来做什么、路由器的工作过程等

1、什么是路由器 路由器,router,用于网络互联的计算机设备。...作为一个路由器,必须具备如下: 1、至少两个端口 2、往上至少实现到网络层协议,很多路由器深圳实现了较复杂的应用层协议 3、具有存储、转发、寻径等基本功能 4、至少支持两种子网协议用于异种子网互联 2、...路由器的作用 1、异种网络互联 2、子网协议转换 3、子网间的速率适配,router可以利用自己的cache和流量控制协议来完成 4、路由(寻径),包括路由表的简历、刷新、删除 5、隔离网络,最基本的隔离子网防止风暴交换机也能做...,路由器可以有网络安全功能,比如防火墙 6、备份与流量控制,主线路的切换及负责的流量控制 7、报文分片与重组,根据不同接口的MTU不同,会进行报文分片与重组 3、路由器的工作过程 维护路由表,根据路由表和具体报文工作...路由器(Router):工作在网络层,在不同的网络之间存储和转发分组(package)。

3K50

网络设备硬核技术内幕 路由器篇 14 从鹿由器到路由器 (中)

Option 60早在RFC 2132中就有了初始的定义。它是DHCP Client向DHCP Server报告自身生产厂商信息的。...最初,这个Option的用途是用于为不同厂商的终端分配不同域的地址,但在IPTV中,这个字段用于标识其是否为机顶盒终端。...IPoE认证的IPTV网络中,还有一个重要的问题: 怎么样避免楼道二层交换机把组播包在所有的接口中泛洪,使得隔壁老王能够不花钱看到老张家付费观看的成人围棋频道?...显然,相对于PPPoE,IPoE的数据包更简单,对BRAS——城域边缘路由器的要求也相对低。 于是,工程师们又想出来了城域网络的创新——请看下集。...那么,为什么运营商网络中不采用VXLAN隔离各个用户,而要使用QinQ? 答案:1. QinQ的内外层VLAN ID可以用来区分接入位置,如小区/门牌号;2.

86530
  • 路由器的无线信道

    调整路由器的无线信道,增加网速。传输!路由器信号频率分别:2.4GHz,5GHz频率,你的邻居99%的用2.4GHz。...你和其他网络分到第3条和8条高速公路,那其他车到还的空着呢。那你想一想,能不卡吗?能不堵车吗?这也到网络繁忙,频率缓冲,的时候一到晚上卡的原因?说明白了,就是互相干扰。...这时候登入路由器后台地址:192.168.1.1到浏览器访问。(不同的路由器登入地址,请详情路由器后面信息。)进入路由器的后台设置。...买路由器有讲究?一定要买支持WiFi 6的。他多了一个5G频率,相当于又多快速频率通道!还不限速,唯一点就是穿墙差,购买路由器不要看天线的数量!天线多了只是商家的套路。信号好,要看路由器MIMO数量。...比如:2.4GHz频率 2ⅹ2MIMO,5GHz频率 2ⅹ2MIMO;这样看这样买才不吃亏,网速才蹭蹭的快! 路由器的摆放位置:千万不要放在弱电箱!干扰设备,无线的仪器远离!

    1.9K20

    移植python到小米路由器记录。

    最近抢了一个小米路由器,研究了一下,总的来说现在看起来功能还很少。现在比较有用的功能就是,远程下载功能,支持迅雷,电驴等,不过现在看电影啥的都是直接在线看的,基本上也很少用。...检测连接的智能设备,这个功能可以随时查看是否有人曾网,当然也可以用来在远程监控家里都有谁在用路由器。...首先通过ssh连接到路由器上面,小米路由器默认是没有开启ssh的需要手动开启。...一开始我直接下的arm-4.3.3来编译,编译好后放到路由器上面提示-ash 找不到程序,查找了一下发现时编译器太旧的缘故。...,编译Ok后,按照上面编译python的步骤重新来一次,放到小米路由器上运行python命令果然没有问题看到了python的交互界面。

    2.4K10

    网关和路由器的区别

    在没有路由器的情况下,两个网络之间是不能进行TCP/IP通信的,即使是两个网络连接在同一台交换机(或集线器)上,TCP/IP协议也会根据子网掩码(255.255.255.0)判定两个网络中的主机处在不同的网络里...而要实现这两个网络之间的通信,则必须通过网关。如果网络A中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机。...网关的IP地址是具有路由功能的设备的IP地址,具有路由功能的设备有路由器、启用了路由协议的服务器(实质上相当于一台路由器)、代理服务器(也相当于一台路由器)。       ...路由器(Router)是一种负责寻径的网络设备,它在互连网络中从多条路径中寻找通讯量最少的一条网络路径提供给用户通信。路由器用于连接多个逻辑上分开的网络。...对用户提供最佳的通信路径,路由器利用路由表为数据传输选择路径,路由表包含网络地址以及各地址之间距离的清单,路由器利用路由表查找数据包从当前位置到目的地址的正确路径。

    9.3K41

    路由器是如何工作的?

    路由表 路由器和交换机一样,也有自己的小本本,这个路由表上记载了到各个网络节点之间的路,会记录数据来源、相应的路由条目以及下一跳。...路由表就相当于路由器的导航,路由器只需要按照路由表的指示走就可以了。当然前提是,路由表中存在匹配该数据包目的 IP 地址的路由条目。...这时候就需要结合动态路由,让路由器通过动态的方式来学习。在大型网络中,往往采用这种动、静路由相结合的方式进行部署。 三层寻址 上期讲解的「二层寻址」,大家还记得吗?...路由查询的行为是逐跳的,到目标网络沿途的每个路由器都必须有关于该目标网段的路由信息。简单来说,数据包每经过一个路由器,路由器就会告诉它下一跳是谁,该往哪个方向走。 如何选择路由器?...以 UniFi 的网关设备为例:USG 可以到 100 并发,普通家庭或小微企业,都足够用了;USG-Pro-4 带机量可以到 1000 并发,中小企业需求基本可以满足;如果还有更高需求,可以使用 UDM-Pro

    91340

    网络设备硬核技术内幕 路由器篇 13 从鹿由器到路由器(上)

    今天,让我们回归初心,从序章中路由器与鹿由器之辩说起。 看,这个家伙是(有6个角的)鹿由器! 是的,家庭上网,家用无线鹿由器必不可少。...(现在已经二合一了)SR的业务并不复杂,以QoS为主,而BRAS需要为家庭用户提供PPPoE与IPoE两种接入,也就是从鹿由器到路由器的重点。 插播:BRAS应该读作Bee-Ras。...从鹿由器到路由器需要解决的第一个矛盾是,家庭宽带是需要收费的,而如果没有合适的隔离手段,无法避免没有认证的用户,与隔壁家王工通过楼道交换机互通,并连接到Internet。...如图所示: 张家和王家在接入交换机(或OLT)上隔离为两个VLAN,在汇聚交换机上,并不是简单地以VLAN Trunk方式透传到城域边缘路由器,而是增加一层802.1q标签(VLAN TAG)。...这种在以太网上运行的PPP,叫做PPPoE(PPP Over Ethernet)。一般的鹿由器(家用路由器)都支持这个功能。

    65520

    路由器是如何工作的?

    因此,路由器具有判断网络地址和选择IP路径的功能,它能在多网络互联环境中,建立灵活的连接,可用完全不同的数据分组和介质访问方法连接各种子网,路由器只接受源站或其他路由器的信息,属网络层的一种互联设备。...路由表 路由器和交换机一样,也有自己的小本本,这个路由表上记载了到各个网络节点之间的路,会记录数据来源、相应的路由条目以及下一跳。 路由表就相当于路由器的导航,路由器只需要按照路由表的指示走就可以了。...当然前提是,路由表中存在匹配该数据包目的 IP 地址的路由条目。路由表会周期性更新,当网络拓扑发生变化时也会更新,不用担心走错路。...这时候就需要结合动态路由,让路由器通过动态的方式来学习。在大型网络中,往往采用这种动、静路由相结合的方式进行部署。 三层寻址 二层寻址就是交换机根据 MAC 地址,在物理层进行寻址。...路由查询的行为是逐跳的,到目标网络沿途的每个路由器都必须有关于该目标网段的路由信息。简单来说,数据包每经过一个路由器,路由器就会告诉它下一跳是谁,该往哪个方向走。

    20410

    你家路由器“有趣”的24小时 | 路由器真的安全吗?(含视频)

    由于家庭路由器的安全问题一直都没有得到人们应有的关注,因此在这篇文章中,我打算用我自己的路由器来进行实验,以此来告诉大家目前的情况到底有多么危急。...在某些情况下,人们可能会让路由器24小时不间断地运行。在日常的使用过程中,用户通常关注的只是路由器的网速和稳定性,而路由器的安全问题对普通用户来说只是一个“WiFi密码”的问题而已。...用户根本不会意识到某些路由器的管理员控制面板中有可能存在安全漏洞,而攻击者就可以利用这些漏洞来对路由器实施攻击。...更加麻烦的是,这些路由器中往往不只存在一处漏洞,而且路由器制造商也没有及时去修复这些漏洞。...从我所收集到的数据来看,总共有来自92个不同国家的IP地址向我的路由器发送过攻击流量,这些恶意流量通过349个不同的端口发送到了我的家用路由器中。 其中,有超过一半的攻击来自于亚洲地区。

    87370

    网络设备硬核技术内幕 路由器篇 15 从鹿由器到路由器 (下)

    在局域网中,NFV主要用于虚拟化安全资源,来应对专用设备无法承载的超大业务量。而在运营商网络中,NFV则可以用于WLAN控制器(vAC)和宽带远程接入服务(vBRAS)。...业务,在vBRAS方案中,从成本较高的NP承载变成了价廉物美的交换机ASIC承载。...路由器NP则依然处理家庭宽带上网的PPPoE数据转发业务。vBRAS的x86 CPU处理认证过程,也就是控制平面的业务。 这就是所谓的转控分离的设计思想。...此外,传统的Linux内核在收到数据包时,会将数据包缓存(mbuf)从网卡驱动的地址空间(内核态)拷贝到应用程序的地址空间(用户态)。这更是在数据平面无法接受的。这也限制了x86在网络领域的应用。...而其他非Intel的RISC多核处理器厂商也在持续发力,CISC和RISC多核在网络领域的竞争已经进入白热化。 明天,我们将从多核开始,介绍路由器的另一种实现方式。敬请期待。

    66230

    网关和路由器的区别是什么 网关和路由器的区别介绍

    这两种装置它们之间存在着许多的共同点,但是网关与路由器这两种设备它们之间还是存在着许多本质上的区别。下面就来介绍网关和路由器的区别的有关内容。   ...路由器它是属于网络层设备,通常是以包为单位进行数据的发送。在路由器的子接口,是有分割广播域的作用,所以当我们用交换机做VLAN以后,都是要在路由器上做一个三层的路由。...而我们在这个路由器的子接口出设置的IP地址就是网关。当然在现在我们最常用的以太网当中,网关就会被退化成路由器。   ...路由器它是一个网络层系统,路由器在现在市场上一般是被分成了两大类,一类是单协议路由器,另一类是多协议路由器。路由器它可以进行数据格式的转换,成为不同于协议之间的网络互连的必要设备。   ...网关与路由器这两者之间的区别也就是以上的这些,它们之间的区别总的来说其实并不大,而其中网关与路由器之间还存在着很密切的联系。

    1.4K41

    网络设备硬核技术内幕 路由器篇 21 可重构的路由器

    在前面20篇专题中,我们看到了,路由器可以通过这些方法实现: 家用路由器,一般使用Broadcom或MTK的SoC方案实现,如Broadcom 的BCM7218X,一颗芯片就可以实现集成了Wi-Fi6...和IPTV功能的家用路由器盒子。...企业高端与运营商级别,200G-20T性能区间的路由器,目前一般使用NP实现。 我们发现,性能越高的路由器,使用的转发芯片灵活性越低。以NP为例,NP的报文处理流水线是有限制的。...; 现场——FPGA内置SRAM存放编译后的代码,可以通过软件在运行时升级,甚至不重启就完成升级; 由于这些特点,FPGA经常用于网络中数据包处理的加速,最典型地就是用于路由器或防火墙的加速。...由于FPGA的可重构特性,它实现的可重构路由器更加开放,功能更加强大,也弥补了多核处理器在业务叠加时性能下降的弱点。 大家知道最经典的可重构FPGA路由器是哪款吗?

    69320

    ONOS中Juniper路由器Driver开发简介

    1 在ONOS中开发juniper路由器的简单driver,链接路由器。...3 在命令行下发模块(cli)中,开发新的执行命令,使得用户可在命令行中执行2的动作。 4 由三台juniper测试路由器,组成测试demo,验证相关功能。...目前是空的,在后面实现具体修改路由器配置时,可添加ONOS中api接口和具体实现的对应关系。 ?...ONOS为利用NETCONF driver,链接远程路由器实现了相关命令onos-netcfg。我们也可以通过此命令,将juniper路由器和ONOS中的juniper driver相链。 ?...ONOS中NETCONF相关的wiki链接:https://wiki.onosproject.org/display/ONOS/NETCONF 链接路由器成功后,在ONOS中执行devices命令,可查看到此路由器已经通过

    1.4K50

    路由器里的广告秘密

    “别抱怨了,咱们所在的路由器就是干这活的,这就是命啊,来抽一支放松下”,一旁负责WIFI连接的阿讯递来了一支香烟。 阿斐接过香烟,掏出打火机点燃,猛吸了几口。...阿斐和阿讯是路由器中的两个模块,打出生起就在路由器中工作,一直勤勤恳恳为人类能够连接互联网默默工作。 “你要是觉得这工作干的没有奔头,要不咱想个办法捞点油水?”,阿讯朝阿斐挤了下眼睛。...半晌过去,阿斐总算弄懂了,随即也想出了新的办法,下午又找到了阿讯。 “迅哥,我又有办法了。浏览器只会限制中的JS代码,但不会限制通过外部引入的JS哦” “外部引入,什么意思?”..., “把我们的代码写在单独的文件中,然后像这样引入到原网页中,就可以搞定了”,阿斐一边说,一遍给阿讯画了一个示意图: 的时候,遇到HTTP协议的数据包,就看一下Content-Type是不是text/html,如果发现传输的内容是html网页,就在标签中插入一个外部引用,通过这个外部的

    98930

    路由器的广域网和局域网_路由器广域网设置

    局域网(Local Area Network,LAN)是指在某一区域内由多台计算机互联成的计算机组。一般是方圆几千米以内,将各种计算机,外部设备和数据库等互相联接起来组成的计算机通信网。...功能性和技术性定义之间的差别是很明显的,功能性定义强调的是外界行为和服务;技术性定义强调的则是构成LAN所需的物质基础和构成的方法。 局域网(LAN)的名字本身就隐含了这种网络地理范围的局域性。...由于较小的地理范围的局限性,LAN通常要比广域网(WAN)具有高得多的传输速率。...在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。任何厂家生产的计算机系统,只要遵守IP协议就可以与因特网互连互通。...我们可以把“个人电脑”比作“一台电话”,那么“IP地址”就相当于“电话号码”,而Internet中的路由器,就相当于电信局的“程控式交换机”。

    1.1K80

    路由器原理及常用的路由协议、路由算法

    4 路由算法 5 新一代路由器 路由器工作在OSI模型中的第三层,即网络层。...第二个问题是,当与外部网络互连时,网桥会把内部和外部网络合二为一,成为一个网,双方都自动向对方完全开放自己的网络资源。这种互连方式在与外部网络互连时显然是难以接受的。...寻径即判定到达目的地的最佳路径,由路由选择算法来实现。由于涉及到不同的路由选择协议和路由选择算法,要相对复杂一些。...路由选择算法将收集到的不同信息填入路由表中,根据路由表可将目的网络与下一站(nexthop)的关系告诉路由器。...链路状态算法(也称最短路径算法)发送路由信息到互联网上所有的结点,然而对于每个路由器,仅发送它的路由表中描述了其自身链路状态的那一部分。

    1.6K20

    如何让带有华硕固件的路由器桥接到你家里客厅的路由器?

    最近家里的台式机无线网卡正好坏了,家里正好有一个闲置的路由器,一条闲置的网线,网上正好有华硕的固件(好巧哦~),于是准备把客厅的路由器的Wifi信号桥接到我房间的路由器(带华硕固件),然后映射到LAN口...步骤大概如下: 进入路由器的管理界面(华硕固件一般是192.168.123.1),账号和密码一般均为admin(建议修改成其他密码,拒绝默认密码) - 高级设置 - 无线 2.4GHz - 无线桥接 -...# 中继AP配置填写说明: # 各参数用【@】分割开,如果有多个信号可回车换行继续填写即可(从第一行的参数开始搜寻)【第一行的是最优先信号】 # 搜寻时无线网络会瞬断一下 # 参数说明: # ①2.4Ghz...SSID:"ASUS" # ⑤中继AP 密码:"1234567890" # ⑥中继AP 的 MAC地址:"20:76:90:20:B0:F0"【可以不填,不限大小写】 按上面完成之后点击“应用本页面设置...版权所有:可定博客 © WNAG.COM.CN 本文标题:《如何让带有华硕固件的路由器桥接到你家里客厅的路由器?》

    2.5K20

    《网络是怎么样连接的》读书笔记 - 集线器、路由器和路由器(三)

    本章重点 信号如何在网线和集线器中传输?如何抑制信号传输中的失真情况? 交换机的作用和工作方式是什么? 路由器包转发的细节,以及和交换机的区别。...这个传输过程涉及到本章的三个最重要的内容,也就是集线器,交换机,路由器,整个传输的过程和下面的内容类似: 防止信号衰减 所谓的以太网信号实际上可以看作是正负变化的电压,网卡的PHY模块负责完成正负电子信号电路输出...集线器工作 信号传递到整个网络之后将会广播到整个网络,在第一章“以太网MAC头部”当中介绍了MAC地址中包含了接收方的“收货地址”,集线器负责以太网架构中对于信号进行广播的角色。...路由表的信息 在路由器中的表信息被叫做路由表,查表判断转发目标的基本思路和交换机是类似的,但是工作方式不太一样。...在路由器中通常存着一张路由表,它会根据信道的情况自动选择和设定路由,然后以最佳路径发送信号。

    98620
    领券