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

带有class='active‘的属性"aria-current='page'“即使在单击其他链接之后也不会从第一个NavLink中消失

带有class='active'属性"aria-current='page'"的NavLink是React Router中的一个组件,用于在导航栏中标记当前活动页面。当用户单击其他链接时,该活动页面的标记不会消失,仍然保持在导航栏中。

这个功能在网站或应用程序中非常有用,可以帮助用户清晰地知道他们当前所处的页面,提供更好的导航体验。

在React Router中,可以通过设置NavLink组件的属性来实现这个功能。具体的属性如下:

  • to:指定导航链接的目标路径。
  • exact:指定是否需要精确匹配目标路径。如果设置为true,则只有当目标路径与当前路径完全匹配时,才会被视为活动页面。
  • isActive:一个函数,用于自定义判断是否为活动页面的逻辑。如果返回true,则表示当前页面为活动页面。

以下是一个示例代码,展示了如何使用带有class='active'属性"aria-current='page'"的NavLink:

代码语言:txt
复制
import { NavLink } from 'react-router-dom';

const Navigation = () => {
  return (
    <nav>
      <ul>
        <li>
          <NavLink exact to="/" activeClassName="active" aria-current="page">
            Home
          </NavLink>
        </li>
        <li>
          <NavLink exact to="/about" activeClassName="active" aria-current="page">
            About
          </NavLink>
        </li>
        <li>
          <NavLink exact to="/contact" activeClassName="active" aria-current="page">
            Contact
          </NavLink>
        </li>
      </ul>
    </nav>
  );
};

export default Navigation;

在上述代码中,我们使用了NavLink组件,并设置了activeClassName属性为"active",aria-current属性为"page"。当当前页面与NavLink的目标路径匹配时,该NavLink会自动添加class为"active"的属性,并且设置aria-current属性为"page",从而实现了在活动页面上保持标记的效果。

腾讯云提供了一系列的云计算产品,其中与React Router类似的产品是腾讯云的Serverless Framework。Serverless Framework是一个开发框架,可以帮助开发者更轻松地构建、部署和管理无服务器应用程序。您可以通过以下链接了解更多关于腾讯云Serverless Framework的信息:腾讯云Serverless Framework

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

相关·内容

  • Blazor学习之旅(6)路由系统

    ,但你可以呈现更复杂 HTML。例如,可能包括指向主页或站点管理员联系人页面的链接。 使用@page指令 Blazor 组件,@page 指令指定该组件应直接处理请求。...组件 Blazor ,使用 NavLink 组件来呈现标记,因为它在链接 href 属性与当前 URL 匹配时将切换 active CSS 类。...通过设置 active样式,可以让用户清楚地了解当前页面对应哪个导航链接。...组件 Match 属性用于管理突出显示连接时间,它有两个选项: NavLinkMatch.All:使用此值时,只有链接 href 与当前 URL 完全匹配时,该链接才突出显示为活动链接。...使用路由参数 日常开发,有时候希望将URI其他部分用作呈现页面值,例如:http://edtalk.com/favoritestar/jaychou。

    31820

    【React】React-router使用记录

    当匹配到/hello时,如果还有/hello/hello路径的话,会继续匹配 解决办法很简单,使用Swtich组件即可 即,Route上再包一层Switch <Route...Link 说完基本路由后,需要认识“导航链接” 基本理解就是通过导航链接跳转到相应路由,毕竟你不会让用户自行在浏览器地址上输入相应URI吧? 简单理解,就是一个a标签罢了!...导航1 导航2 有一个基本属性,就是to,即要导航到路径 ---- NavLink Link...一般情形下,如果使用NavLink的话,会自动添加一个名为activeclass,如果要自定义,那么给NavLink添加要给属性即可:activeClassName <NavLink to="/hello...sort=name", hash: "#the-hash", state: { fromDashboard: true } }} /> 其中state就是你要隐形传递数据,这里数据时不会显示地址栏或者哪里

    1.8K10

    04-React路由5版本(高亮, 嵌套, 参数传递... )

    +Route 和Link功能一样, 但是会在点击时候自动追加和移除一个class,那就是active, 可以通过属性activeClassName修改 .active { background-color...组件中继续使用NavLink+Route注册路由, 但是需要携带前缀, 并且在外部不能开启精准模式,不然会造成匹配不到情况,二级路由可以使用Redirect实现默认选中 路由组件传递参数[params..., 可以使用querystring方法, 当热这个库React18之后已经被弃用了, 本来我想试一下,但是发现不行 调用直接报错 应该是已经没有依赖了, 可以自己安装一下, 我就不安装了..., 所以不会留下痕迹, 也就不能通过back,go完成前进和后退 修改方式为, 增加replace属性 编程试路由导航 <Link replace to={{ pathname: '/home/messages...路由组件与一般组件 # 直接使用定义组件 就是一般组件 渲染时props不会有默认路由组件三大对象 # 通过路由跳转组件 就是路由组件 渲染时props中会携带 history

    1.1K20

    如何遍历DOM

    href属性来更改链接地址: navLink.href = 'https://github.com/qq449245884/xiaozhi'; 我们还可以通过textContent属性来更改文本内容:...DOM由嵌套节点树结构组成,通常称为DOM树。 我们知道祖先家谱,该谱系由父母,孩子和兄弟姐妹组成。 DOM节点称为父级,子级和同级,具体取决于它们与其他节点关系。...-- an HTML comment --> Developer Tools Elements选项卡,你可能会注意到,每当单击并突出显示DOM任何一行时,它旁边就会出现== 0值。...回到index.html文件,添加一个带有idbutton元素,并新建 script.js 引入其中。 JS 事件是用户所做动作。...当用户将鼠标悬停在一个元素上,或单击一个元素,或按下键盘上一个特定键时,这些都是事件类型。在这个特殊例子,我们希望我们按钮侦听并准备在用户单击它时执行操作。

    9K30

    Jump Start Bootstrap 第4章

    现在,我们有了一个简单下拉菜单,单击链接时显示菜单。我们可以浏览器查看它,如图所示。 ? 让我们结合使用下拉式插件和我们在前一章创建标签和按钮菜单。...nav-tabs组件每个链接都应该有一个data-toggle=”tab”属性。这允许引导程序将单击事件映射到相应选项卡窗格。这些链接href属性应该包含相应选项卡窗格id。...选项卡窗格数量应该等于显示导航栏链接数。nav-tabs包裹一个元素添加一个类”active”,将使它成为默认选项卡。 就是这样!你有了一个可以工作选项卡插件。...因此,第一个包裹体同时拥有collapse和in来显示完整内容,其他包裹体内只应该包含collapse。...Bootstrap 3版本,modals已经变得有响应性;这意味着它们看起来很好,即使小屏幕上能运行良好。

    28.3K40

    React Router V6详解

    hash是location 对象属性,它指的是当前链接锚,也就是【#】号开始部分。 不过,虽然SPA有它优点,得到了主流框架支持,但它也存在一定局限性。...Link不再支持component属性NavLink exact属性替换为end; 添加Outlet组件,用于渲染子路由; 使用之前,可以先使用下面的命令进行安装。...,Link被渲染为有真实href标签,同时,Link to 支持相对路径路由; NavLink:有“active”标的Link,尝被用于导航栏等场景; Navigate:可以理解为被useNavigate...元素; resolvePath:将Link to值转为带有绝对路径真实path对象; 参考链接:https://reactrouter.com/en/6.6.1/docs/en/v6/routers...; Parent Route:带有子路由父路由节点; Outlet: 匹配match下一个匹配项组件; Index Route :当没有path时,父路由outlet匹配; Layout

    7.9K50

    使用 TypeScript 编写 React.js 应用 | 笔记

    更改窗体项目名称 单击表单上保存按钮 验证卡片是否显示更新数据 刷新浏览器 验证项目是否仍处于更新状态 注意: 更新后卡片会被排到最后, 目前没有代码中排序 错误推断, 发现并不对, db.json...可以将任何 标记改为 ,并添加 to 属性以设置 href 。...测试 通过以下步骤验证路由是否正常工作: 访问站点根目录: http://localhost:3000/ 并在浏览器刷新页面 单击导航 Projects 验证你是否被带到 /projects...测试 通过以下步骤验证新路由是否正常工作: 访问站点根目录: http://localhost:3000/ 并在浏览器刷新页面 单击导航 Projects 验证你是否被带到 /projects...'createStore' is deprecated 参考: Redux createStore() 已弃用 - Redux 操作无法 getState() 获取状态答案 - 爱码网 Redux

    86990

    React 路由详解(超详细详解)

    2.整个应用只有一个完整页面。 3.点击页面链接不会刷新页面,只会做页面的局部更新。 4.数据都需要通过ajax请求获取, 并在前端异步展现。...与封装NavLink 1.NavLink可以实现路由链接高亮,通过activeClassName指定样式名 2.标签体内容是一个特殊标签属性 3.通过this.props.children可以获取标签体内容...使用 Link 是会有一些问题, 他不会显示按钮高亮显示, 所以我使用 NavLink 来替代它 App.js文件修改代码 { /* React靠路由链接实现切换组件 */} <...封装 因为 App.js 文件NavLink 太长了, 所以我们这里把 NavLink 单独提出来写 MyNavLink 一个组件, 使用时写他, 可以使代码更加简洁 MyNavLink组件代码...{ /* React靠路由链接实现切换组件 */} Home About<

    5.7K20

    利用Python开发七普数据在线可视化看板

    2.2.2 server.py实例化配置Dash对象 跟以往例子不同,严谨Dash工程下,推荐构建单独server.py文件来完成对Dash对象实例化配置等工作,今天可视化看板案例server.py...编写前端骨架与路由 如果你Dash项目非常简单,那么from server import app之后,就可以像往常一样app.py组织你前端与回调部分内容。...('首页', href='/', active="exact"), dbc.NavLink('年龄结构', href='/age', active="exact...2.2.4 views子模块构建多页面前端内容 在上一小节路由回调你可能会好奇不同url下返回值index_page、age_page等都是什么,这些都构建在「子模块」views下: + views...import sex_page from views.statistics import statistics_page 2.2.5 callbacks子模块构建多页面后端逻辑 当你views

    1.4K30

    无废话快速上手React路由

    One 二级路由路径匹配必须要写 /home/one ,而不是 /one ,不要以为 One 组件看似 Home 组件内就可以简写成 /one 动态链接 NavLink可以将当前处于active状态链接附加一个...路由传参 所有路由传递参数,都会在跳转路由组件 props 获取到,每种传参方式接收方式略有不同 路由传参方式一共有三种,依次来看一下 第一种 第一种是 Link 组件跳转路径上携带参数,...可以看到,第一种方式参数是通过 props.match.params 来获取 第二种 第二种方式就是通过 Link 组件跳转链接后面跟上以 ? 开头,类似 ?...,组件 props 属性是否有下图所示内容:(前者有,后者无) ?...通过withRouter方法对普通组件做一层包装处理 补充 replace 函数式路由里跳转类型主要有两种,分别是 push 和 replace,那么非函数式路由中,同样可以自定义跳转类型,具体实现代码如下

    1.8K20

    (数据科学学习手札121)Python+Dash快速web应用开发——项目结构篇

    2.2.2 server.py实例化配置Dash对象   跟以往例子不同,严谨Dash工程下,推荐构建单独server.py文件来完成对Dash对象实例化配置等工作,今天可视化看板案例...编写前端骨架与路由   如果你Dash项目非常简单,那么from server import app之后,就可以像往常一样app.py组织你前端与回调部分内容。   ...('首页', href='/', active="exact"), dbc.NavLink('年龄结构', href='/age', active="exact...2.2.4 views子模块构建多页面前端内容   在上一小节路由回调你可能会好奇不同url下返回值index_page、age_page等都是什么,这些都构建在子模块views下: + views...import sex_page from views.statistics import statistics_page 2.2.5 callbacks子模块构建多页面后端逻辑   当你views

    1.5K20

    结合 Bootstrap + Vue 组件实现 Laravel 异步分页功能

    ="page-item active" aria-current="page" v-if="page == paginator.current_page">...关于 Vue 组件基本结构,我们在编写第一个Vue组件教程已经讨论过,这个分页组件比我们之前编写 Vue 组件都要复杂一些,我们在这个组件应用了更多 Vue 特性,包括从父视图中传入属性,定义模型属性...使用prop传递属性 我们父视图中声明组件时候传递了一个属性 page-type 到组件,用于标识该组件应用页面类型,然后组件,我们可以通过 props 声明从父视图/组件传递进来属性(转化为驼峰格式...动态设置组件模型属性 我们可以将组件用到动态数据设置为模型属性,这些属性值发生变更后会实时更新引用它视图元素,反之视图元素输入值变更会同步到模型属性,这称之为双向绑定,通过这个特性可以大大提高编写客户端代码效率...通过列表渲染显示分页数据和链接 设置好 paginator 和 elements 属性之后,就可以模板通过列表渲染和动态绑定显示文章信息和分页信息了,具体可以查看 template 标签代码

    7.4K20
    领券