使用 React Router 将类 active 添加到其他父 html 标签

2023-12-24

我已经被困了几个小时来弄清楚如何在提供的 Reactrouter 标签的父 html 标签上添加 classActive 。这是代码, 使用React-Router“版本”:“3.2.6”

    <li className="sidebar-item">
        <div className="sidebar-link" activeClassName="active">
            <span>Track Page</span>

            <div className="collapse first-level">
                <Link className="first-level__link" to="/track-page" activeClassName="active">
                    Track Page 1
                </Link>

                <Link className="first-level__link" to="/track-page-2" activeClassName="active">
                    Track Page 2
                </Link>
            </div>

        </div>
    </li>

目前活跃类只能保持在<link>标签,但我需要它在<li>的父级<link>。我怎样才能做到这一点?请帮忙。

我对反应不太熟悉,所以,这里的任何帮助将不胜感激。先感谢您。


Use <NavLink>代替<Link>并将精确添加为属性

包含精确作为属性,以确保 activeClassName 仅在与您的位置完全匹配的 url 路径上触发

如果您想将活动类添加到作为父级的 li 标记中

您可以使用函数来获取 NavLinkClass 您可以使用 useLocation 来获取确切的位置

import { useLocation,NavLink } from "react-router-dom";

const location = useLocation();

 const getNavLinkClass = path => {
    return location.pathname === path
    ? "sidebar-item active"
    : "sidebar-item";
     };

 <li className={getNavLinkClass("/track-page")>
      <div className="sidebar-link">
        <span>Track Page</span>

        <div className="collapse first-level">
          <NavLink
            className="first-level__link"
            to="/track-page"
            activeClassName="active"
          >
            Track Page 1
          </NavLink>

          <NavLink
            className="first-level__link"
            to="/track-page-2"
            activeClassName="active"
          >
            Track Page 2
          </NavLink>
        </div>
      </div>
    </li>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 React Router 将类 active 添加到其他父 html 标签 的相关文章

随机推荐

  • 无法让此正则表达式适用于 Snakemake 中的 wildcard_constraints

    我有一个用 Snakemake 编写的工作流程 用于分析生物测序数据 工作流程期望对所有数据文件进行组织 以便每个原始读取文件都以检测类型 RNASeq DNaseSeq 等 开头 并且在工作流程生成的所有文件中都保持此文件名约定 我有一个
  • Chrome中如何区分浏览器关闭和刷新事件?

    如何使用 JavaScript for CHROME 区分浏览器关闭和刷新事件 我尝试过下面的 JavaScript 代码 但它不适用于 Chrome window onbeforeunload function e var e e win
  • 如何打印问题中的变量值?

    我做一点补充 sumbit CIN A B CO R sumbit 0 1 1 CO R write CIN nl write A nl write nl write B nl write nl write CO write R nl 我想
  • Kotlin Gson 反序列化

    我收到一个带有地图包装器的 JSON 数据模型Table 我试图使用泛型来传递超出包装器的类型 但它在运行时翻译得不好 这是我的 JSON 文件的示例 Table paymentmethod id 1 paymentmethod descr
  • 合并两个纠缠的凸包

    如何合并两个纠缠的凸包 例如this https i stack imgur com ALM4G jpg 使用格雷厄姆扫描或任何其他算法在线性时间内形成凸包 基本上 你使用安德鲁的修改 https en wikibooks org wiki
  • 本机查询支持 SQL Server 的 Spring data jpa 流

    我们需要使用 Spring data jpa 从 SQL Server 检索数据 由于我们有数百万条记录 因此我们无法一次请求加载所有数据 是否可以使用本机查询进行流式传输 是的 您可以让您的查询方法在 Spring Data JPA 中返
  • 添加翻转到 JTree 句柄

    我正在尝试对Collapsed Icon https docs oracle com javase 8 docs api javax swing plaf basic BasicTreeUI html collapsedIcon对于 JTr
  • 堆栈溢出 C++

    所以我试图解决一个任务 a 已经有代码 但系统输出 堆栈溢出 我是 C 新手 我的英语不好 所以很抱歉造成误解 include
  • 如何(正确)使用带有实时绑定的枚举类型(TObjectBindSourceAdapter)

    我在用着TObjectBindSourceAdapter对对象使用实时绑定 我正在使用的对象的属性之一TObjectBindSourceAdapter具有枚举类型 但是当我在对象中使用枚举类型时 适配器中的字段永远不会生成 我目前找到的唯一
  • 以编程方式显示 ImageView

    当用户单击按钮时 如何使 ImageView 出现在屏幕中间 我已将图像放在 res drawable 文件夹中 我一直在尝试使用下面的代码 但我不知道如何使 ImageView 出现 View v new ImageView getBas
  • 通过 GUID 保护 AJAX 请求

    我正在编写一个网络应用程序 它将通过 AJAX 发出请求 并希望锁定这些调用 经过一番研究后 我正在考虑使用某种形式的随机令牌 字符串 与请求 GUID 一起传回 这是我的算法的重要部分 将令牌分配给 JavaScript 变量 在服务器端
  • angerlySetInnerHTML 内的 React 组件

    在我的应用程序中 我需要获取 HTML 字符串 从服务器或从用户输入 也许是从 markdown 处理的东西 无论如何 看来我真的需要使用setDangerousHtml 但我还需要该部分内的一些反应组件 例如 我会将一些链接转换为Link
  • 从流中播放 MP3

    有没有办法使用 VB NET 或 C 直接从内存流 没有任何临时文件 播放 MP3 或者从 SQLITe 数据库播放 Thanks 我建议你尝试一下Mp3Sharp http www robburke net mle mp3sharp 它是
  • 如何使 Xvfb 显示可见?

    我通过 Xvfb 在显示编号 99 上运行 selenium 如下所示 usr bin Xvfb 99 ac screen 0 1024x768x8 导出 DISPLAY 99 java jar usr lib selenium selen
  • LoginButton 请求好友列表权限,为什么?

    我正在使用 facebook sdk 中内置的 LoginButton 小部件 我没有对其进行任何更改 我只是将其包含在我的 xml 布局文件中并调用setSessionStatusCallback没有其他的 然而 当我点击登录按钮时 Fa
  • XP 上的 IE 不支持 SNI 允许单个服务器使用多个证书

    我一直在寻找几个小时来找到我的问题的解决方案 虽然我相信我已经能够澄清我遇到问题的原因 但我一直无法找到解决方案 我有一台服务器托管多个网站 其中几个网站正在使用 SSL 证书 我有一些由所有站点访问的共享图像 阻止 SSL 站点上的非安全
  • 如何使用高斯分布对列表进行洗牌

    我想模拟消息上的错误 例如 1000010011 gt 1010000011 有没有办法在Python中实现这个 我尝试了以下方法 有效 import random a 1011101101 b el for el in a b 1 0 1
  • 使用 CSS 以完全流畅的布局使一个 div 显示在另一个 div 下

    我已经更新了我的代码并制作了一个小提琴来解释我正在尝试做的事情 我之前也有过类似的问题 但并没有体现出模板的流动性 我有一个完全流畅的布局我需要让一个div显示在另一个div下面 我想用 CSS 来实现 但我不想使用 javascript
  • Windows 2008 Server r2 上的 mysqltuner.pl

    我通常使用 linux 作为 mysql 并且有一个叫做 mysqltuner pl 的东西 这很棒 但是我们在 Windows 2008 r2 服务器上有一个 mysql 服务器 我想知道你们中是否有人知道我可以使用的类似于 mysqlt
  • 使用 React Router 将类 active 添加到其他父 html 标签

    我已经被困了几个小时来弄清楚如何在提供的 Reactrouter 标签的父 html 标签上添加 classActive 这是代码 使用React Router 版本 3 2 6 li div span Track Page span di