反应路由器索引路由始终处于活动状态

2024-02-08

我正在尝试使用 React 来设计我的导航activeClassName属性。到目前为止,它按预期工作,但有一个问题 - 我的第一个导航链接指向根路线(/)。因此,即使在另一个 URL 上,它也会将该 URL(例如 /skills)和 root 注册为活动状态(因此 2 个菜单项会被设置样式)。

有一个简单的解决方法吗?我应该将根路由定义为其他路径(例如/home)吗?

我的标题:

import React, { PropTypes } from 'react';
import { Link, IndexLink } from 'react-router';

const Header = () => {
    return (
        <div className="header">
            <div className="headerImage"></div>
            <ul className="headerNav">
                <li className="headerNavLink"><Link to="/" activeClassName="activeLink">introduction</Link></li>
                <li className="headerNavLink"><Link to="/skills" activeClassName="activeLink">skills</Link></li>
                <li className="headerNavLink"><Link to="/portfolio" activeClassName="activeLink">portfolio</Link></li>
            </ul>
        </div>
    );
};

export default Header;

路线.js:

import React from 'react';
import { Route, IndexRoute } from 'react-router';
//Import app
import App from './components/App';
//Import pages
import IntroductionPage from './components/introduction/IntroductionPage';
import SkillsPage from './components/skills/SkillsPage';
import PortfolioPage from './components/portfolio/PortfolioPage';

//Define routes
export default (
    <Route path="/" component={App}>
        <IndexRoute component={IntroductionPage} />
        <Route path="skills" component={SkillsPage} />
        <Route path="portfolio" component={PortfolioPage} />
    </Route>
);

因此,为了澄清,我希望我的家乡路线在另一条路线上时不处于活动状态。

我究竟做错了什么?

Thanks


我想参考 React Router 的文档 https://reacttraining.com/react-router/web/api/NavLink/exact-bool (react-router-dom,目前为 v5) 和sources https://github.com/ReactTraining/react-router/blob/master/packages/react-router-dom/modules/NavLink.js。 这是实现这一点的最新方法:

exact: bool

如果为 true,则仅当位置完全匹配时才会应用活动类/样式。

<NavLink exact to="/profile">
  Profile
</NavLink>

这是一个现实世界的工作示例:

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

反应路由器索引路由始终处于活动状态 的相关文章

  • Android 设备上的 PhoneGap 蓝牙插件

    我一直在尝试让 PhoneGap 工作的蓝牙插件 但我似乎不知道哪里出了问题 首先 我的测试设备是 Galaxy S3 GT 19305T 应用程序是使用PhoneGap CLI http docs phonegap com en 3 0
  • 尝试将布尔 C# 变量传递给 javascript 变量并将其设置为 true

    在我的 aspx 页面中 我将布尔变量 C 传递给需要布尔类型的 javascript 函数 但遇到了问题 但是 C 变量返回 True 而 javascript 不喜欢大写 myjavascript 如果我将 c 变量转换为字符串 那么我
  • TypeError: props.render 不是一个函数(React hook 形式)

    我将方法作为我用react hook form制作的形式的道具传递 当从react hook form添加控制器时 它给了我 TypeError props render不是一个函数 我在网上找不到任何解决方案 因此感谢任何帮助 impor
  • 使用 jQuery/JS 打开时使
    标签的内容具有动画效果

    我只想要 HTML5 的内容details标记为 滑行 动画打开 而不是仅仅弹出打开 立即出现 这可以用 jQuery Javascript 实现吗 Fiddle http jsfiddle net 9h4Hq HTML
  • 如何抑制窗口鼠标滚轮滚动...?

    我正在开发嵌入页面中的画布应用程序 我有它 因此您可以使用鼠标滚轮放大绘图 但不幸的是 这会滚动页面 因为它是文章的一部分 当我在 dom 元素上滚动鼠标滚轮时 是否可以阻止鼠标滚轮在窗口上滚动 附加鼠标滚轮 不是 Gecko DOMMou
  • React - 无法读取未定义的属性[重复]

    这个问题在这里已经有答案了 通常 当我单击子组件中的菜单项时 它会调用 this handlesort 这是一个本地函数 处理排序从我的父组件中获取 onReorder 属性 onReorder 调用名为 reOrder 的本地函数 它设置
  • Meteor - 从客户端取消服务器方法

    我正在通过服务器方法执行数据库计数 用户可以选择他们希望如何执行计数 然后调用该方法 我的问题是 计数可能需要一些时间 并且用户可能会在方法运行时改变主意并请求不同的计数 有什么方法可以取消调用的方法并运行新的计数吗 我认为 this un
  • 如何使输入字段和提交按钮变灰

    我想变灰这两件事 http doorsplit heroku com 歌曲输入字段和提交按钮 直到用户输入艺术家 有没有一种简单的方法可以通过 JQuery 来做到这一点 艺术家输入字段的id是 request artist 你可以这样做
  • firebase :: 无法读取 null 的属性“props”

    你好 我正在尝试将react router与firebase一起使用 但它给了我这个错误 无法读取 null 的属性 props 这正是代码 我正在其中使用我的反应路由器 向下代码位于作为登录面板组件的组件上 else if this em
  • 为什么在 Internet Explorer 中访问 localStorage 对象会引发错误?

    我正在解决一个客户端问题 Modernizr 意外地没有检测到对localStorageInternet Explorer 9 中的对象 我的页面正确使用 HTML 5 文档类型 并且开发人员工具报告该页面具有 IE9 的浏览器模式和 IE
  • HTML 离线应用程序缓存,列出下载的文件

    作为我正在构建的离线 Web 应用程序的加载屏幕的一部分 使用缓存清单 http developer apple com library safari documentation iPhone Conceptual SafariJSData
  • 有没有办法阻止 prettier / prettier-now 将函数参数分解为新行

    当使用 prettier prettier now 在保存时进行格式化时 当一个函数包装另一个函数时 它会中断到一个新行 我想知道是否有办法阻止这种行为 例如 期望的输出 app get campgrounds id catchAsync
  • 摆脱node-jsx

    在我的 NodeJS 应用程序的路由器中 我想渲染一个 React 应用程序 由于它没有被浏览器化 并且已反应 因此它返回unexpected token lt 构建时出错 我发现如果我require node jsx install 它不
  • Safari 支持 JavaScript window.onerror 吗?

    我有一个附加到 window onerror 的函数 window onerror function errorMsg url line window alert asdf 这在 firefox chrome 和 IE 中工作正常 但在 s
  • JQuery 图像上传不适用于未来的活动

    我希望我的用户可以通过帖子上传图像 因此 每个回复表单都有一个上传表单 用户可以通过单击上传按钮上传图像 然后单击提交来提交帖子 现在我的上传表单可以上传第一个回复的图像 但第二个回复的上传不起作用 我的提交过程 Ajax 在 php 提交
  • 如何仅在最后一个
  • 处给出透明六边形角度?
  • 我必须制作这样的菜单 替代文本 http shup com Shup 330421 1104422739 My Desktop png http shup com Shup 330421 1104422739 My Desktop png
  • 将 MQTTNet 服务器与 MQTT.js 客户端结合使用

    我已经启动了一个 MQTT 服务器 就像this https github com chkr1011 MQTTnet tree master例子 该代码托管在 ASP Net Core 2 0 应用程序中 但我尝试过控制台应用程序 但没有成
  • 如何在 pg-promise 中设置模式

    我正在搜索的文档pg 承诺 https github com vitaly t pg promise特别是在创建客户端时 但我无法找到设置连接中使用的默认架构的选项 它始终使用public架构 我该如何设置 通常 为数据库或角色设置默认架构
  • 使用 Ajax 请求作为源数据的 Jquery 自动完成搜索

    我想做的事 我想使用 jquery 自动完成函数创建一个输入文本字段 该函数从跨域curl 请求获取源数据 结果应该与此示例完全相同 CSS 在这里并不重要 http abload de img jquerydblf5 png http a
  • fullCalendar 未显示正确的结束日期

    我正在看调试页面 http jsbin com wukofacaxu edit js outputFullCalendar 官方网站的 我想安排一个活动时间为 22 09 2015 至 30 09 2015 dd mm yyyy 但它只显示

随机推荐

  • 在 Android 中禁用/删除 EditText 中的文本选择句柄

    当用户单击 EditText 时 光标会出现文本选择句柄 文本选择手柄可以移动到字段中的不同位置 文本选择句柄是 有什么方法可以删除它 使其不显示吗 为了解决这个问题 我创建了一个空的形状图像
  • 使用 fullPage.js 中的“afterRender”回调通过 jQuery 事件运行代码

    我正在使用一个名为 fullPage js 的库来创建一个网站 在此我使用 setTimeout 函数来更改背景图像 setTimeout function bg opacity css opacity 1 background image
  • Codeigniter:如果下拉数据来自数据库,则使用 set_select()

    我有一个下拉 字段 它从数据库获取其值 我目前正在寻找一种使用方法set select 但没有成功 这是我现有的观点
  • Swift:沿路径部分移动 UIImage

    我正在使用此代码沿曲线移动 UIImage paint curve for sun let path UIBezierPath let imageSunName small sun png let imageSun UIImage name
  • 如何在 Quarkus 中以编程方式注册 bean?

    我正在尝试找到一种在 quarkus DI 中以编程方式创建 bean 的方法 但没有成功 在这个框架下可以吗 看起来BeanManager尚未实现所需的方法 首先我们要明确什么 以编程方式创建bean 确切的意思是 但首先我们应该定义什么
  • 从 NSDate 对象获取 UTC 时间和本地时间

    在 Objective C 中 以下代码使用以下命令生成 UTC 日期时间信息date API NSDate currentUTCDate NSDate date 然而在斯威夫特中 let date NSDate date 结果为本地日期和
  • 如何在 Golang 的单元测试中测试 net.Conn?

    我目前正在考虑为 Go 中的 net Conn 接口以及在该功能之上构建的其他函数创建一些单元测试 我想知道在 Google Go 中进行单元测试的最佳方法是什么 我的代码如下所示 conn net Dial tcp 127 0 0 1 8
  • 对 SQL Server 存储过程进行版本控制的最佳方法是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 设置 rhc(红帽客户端工具)时出错

    我已经按照 Openshift 网站上的说明安装了 rhc 当我跑步时一切看起来都很好gem install rhc and hgem update rhc但当我尝试打电话时rhc我在下面收到以下消息 我尝试重新安装 ruby 和 git
  • SSD 驱动器会让 Maven 构建更快吗?

    好帖子在这里 https stackoverflow com questions 4557934 would a ssd vs fast hdd drive make my eclipse run compile faster据说使用 SS
  • 如何使用公共函数从 Bytes 返回 KB、MB 和 GB

    我正在编写一个返回文件大小 以 B KB MB GB 为单位 的 函数 VB Net 代码总是首先获取以字节为单位的大小 因此当文件的大小 以字节为单位 小于 100 时 它返回 B 如果它 gt 1000 则将其除以 1000 然后返回
  • EJB 3.1 |通过 JNDI 调用远程会话 bean 时出错

    我试图从 Java SE 简单类 调用一个简单的无状态会话 bean 这是我的豆子 import javax ejb Stateless author MMRUser Stateless public class CapitalBean i
  • Android 11 5G 获取小区参数

    我正在新的 Android studio 预览版上尝试网络类型 5G 上的 Android 11 我的目标是获取单元信息详细信息 但是 方法 getAllCellInfo 在模拟器上返回空 空列表 Android 11 之前的所有模拟器都会
  • Android 在可扩展列表视图中禁用自动滚动

    我在可扩展列表视图中使用 当我打开列表视图中的某个项目时 我的滚动会自动聚焦在打开的项目上 我可以阻止列表聚焦在新项目上并停留在同一个地方吗 我尝试从打开的视图中删除可聚焦的内容 但它不起作用 您需要重写 OnGroupClickListe
  • 无法从 EC2 实例元数据服务检索凭证

    我正在尝试使用 SDK 通过 AWS SES API 发送电子邮件 我的代码基于此处的官方文档 https docs aws amazon com ses latest DeveloperGuide examples send using
  • 最少使用的 unicode 分隔符

    我正在尝试在特定位置使用分隔符标记我的文本 稍后将使用该分隔符进行解析 我想使用最不常用的分隔符 我当前正在查看 2 或 U 0002 字符 使用起来足够安全吗 还有哪些其他建议 文本为 unicode 同时包含英语和非英语字符 A想要使用
  • 字体真棒图标在 Chrome 中显示为正方形?

    我正在尝试在按钮中使用字体很棒的图标 该图标在 Firefox 中工作正常 但当我在 Chrome 中使用它时 它显示为正方形 我环顾四周 唯一发现的是字体的路径可能不正确 但我后来尝试了 cdn 版本here http www boots
  • PacMan:主要使用哪些启发式方法?

    除了 A BFS DFS 等之外 Pacman 中还广泛使用其他哪些好的寻路算法 启发式算法 如果吃豆人可以找到不止一种水果 我认为我提到的那些不会起作用 我需要一些好的寻路算法 PacMan 可以使用它们以尽可能少的步数完成迷宫 我试图四
  • 接口上的属性有什么用?

    使用 Resharper 我提取了现有类的接口 这个类在一些成员上设置了一些属性 Resharper 也将这些属性放在接口成员上 我可以从界面中删除这些属性吗 实现接口时不会继承接口上的属性 对吧 它们不被实现类使用 但仍然可能很关键 例如
  • 反应路由器索引路由始终处于活动状态

    我正在尝试使用 React 来设计我的导航activeClassName属性 到目前为止 它按预期工作 但有一个问题 我的第一个导航链接指向根路线 因此 即使在另一个 URL 上 它也会将该 URL 例如 skills 和 root 注册为