当前位置: 首页 > news >正文

react中设置activeClassName的笔记

React是一种流行的JavaScript库,用于构建动态用户界面。它具有许多有用的组件,其中之一是NavLink组件。NavLink组件用于在React应用程序中创建链接,并且它具有许多有用的属性,例如选中的样式设置。

react-router-dom": “^6.0.0”, 一下版本

在React中,NavLink组件的选中样式设置可以通过activeClassName属性进行设置。该属性指定当链接处于活动状态时应用的CSS类名。例如,如果您想将选定的链接的文本颜色更改为红色,则可以将activeClassName属性设置为“active-link”,然后在CSS中定义以下样式:

.active-link {color: red;
}

此外,NavLink还具有一个名为activeStyle的属性,该属性允许直接指定选中链接的CSS样式。例如,如果您想将选中的链接的文本颜色更改为蓝色并添加下划线,则可以在NavLink组件中设置activeStyle属性,如下所示:

<NavLink to="/home" activeStyle={{ color: 'blue', textDecoration: 'underline' }}>Home</NavLink>

在这个例子中,我们将选中链接的文本颜色设置为蓝色,并添加了下划线。

除了activeClassName和activeStyle属性之外,NavLink还具有其他一些属性,例如exact和strict。exact属性用于确保链接的路径完全匹配,而strict属性用于确保链接的路径与当前URL的末尾斜杠匹配。

React中的NavLink组件使得创建链接和处理选中的样式变得非常简单和直观。通过使用activeClassName和activeStyle属性,您可以轻松地自定义选中链接的样式,从而提高用户体验。

react-router-dom": “^6.0.0”, 一上版本

请使用以下方式

<NavLink className={({ isActive }) => (isActive ? " selectnav" : "")}to={ele.path}>{ele.name}
</NavLink>

isActive 是一个boolean 表示路径是否匹配上 返回是一个class名字

navLink的api讲解笔记

React是一种流行的JavaScript库,它可以帮助开发人员构建复杂的Web应用程序。在React中,NavLink是一个非常有用的组件,它可以帮助我们轻松地为导航栏添加样式和路由功能。在本文中,我们将深入研究NavLink的API和属性,并提供基本的使用案例和场景,以及代码和注释。

NavLink的API和属性

activeClassName

activeClassName是NavLink的一个属性,它定义了当链接处于活动状态时使用的CSS类名。例如,如果您想在导航栏中突出显示当前页面的链接,您可以将activeClassName设置为“active”,然后在CSS中定义.active类来设置样式。

activeStyle

activeStyle是NavLink的另一个属性,它允许您定义链接在活动状态下使用的样式。与activeClassName不同,您可以在activeStyle中直接指定CSS属性和值,而不需要在CSS文件中定义类名。例如,您可以将activeStyle设置为{fontWeight: “bold”, color: “red”},以使当前链接加粗并显示为红色。

exact

exact是NavLink的一个布尔属性,它指定链接是否必须与当前URL精确匹配才能处于活动状态。默认情况下,exact为false,这意味着如果链接的路径与当前URL的路径匹配,则它将处于活动状态。如果您将exact设置为true,则链接必须与当前URL的路径完全匹配才能处于活动状态。

strict

strict是NavLink的另一个布尔属性,它指定链接是否应该严格匹配路径。默认情况下,strict为false,这意味着如果链接的路径是当前URL路径的子集,则它将处于活动状态。如果您将strict设置为true,则链接必须与当前URL的路径完全匹配才能处于活动状态。

to

to是NavLink的必需属性,它指定链接的目标URL。to可以是一个字符串,也可以是一个对象。如果to是一个字符串,则它应该是链接的路径。如果to是一个对象,则它应该具有以下属性:

  • pathname:链接的路径
  • search:查询字符串
  • hash:URL中的哈希值
  • state:一个对象,它将与URL一起传递,可以在目标页面中使用。

基本的使用案例和场景

下面是一个基本的使用案例,它演示了如何使用NavLink来创建一个简单的导航栏:

import { NavLink } from "react-router-dom";function Navigation() {return (<nav><ul><li><NavLink exact to="/">Home</NavLink></li><li><NavLink to="/about">About</NavLink></li><li><NavLink to="/contact">Contact</NavLink></li></ul></nav>);
}

在上面的代码中,我们导入了NavLink组件,并使用它来创建三个链接。我们将exact设置为true,以确保只有当链接的路径与当前URL完全匹配时才会处于活动状态。我们还没有定义activeClassName或activeStyle,因此链接在活动状态下将没有任何特殊的样式。

下面是一个稍微复杂一些的使用场景,它演示了如何使用activeClassName和activeStyle来突出显示当前页面的链接:

import { NavLink } from "react-router-dom";function Navigation() {return (<nav><ul><li><NavLink exact to="/" activeClassName="active">Home</NavLink></li><li><NavLink to="/about" activeClassName="active">About</NavLink></li><li><NavLink to="/contact" activeClassName="active">Contact</NavLink></li></ul></nav>);
}

在上面的代码中,我们将activeClassName设置为“active”,以使当前页面的链接突出显示。我们还可以在CSS中定义.active类来设置样式。如果您想直接在代码中指定样式,您可以使用activeStyle属性。

import { NavLink } from "react-router-dom";function Navigation() {const activeStyle = {fontWeight: "bold",color: "red"};return (<nav><ul><li><NavLink exact to="/" activeStyle={activeStyle}>Home</NavLink></li><li><NavLink to="/about" activeStyle={activeStyle}>About</NavLink></li><li><NavLink to="/contact" activeStyle={activeStyle}>Contact</NavLink></li></ul></nav>);
}

在上面的代码中,我们定义了一个名为activeStyle的常量,它包含在活动状态下使用的CSS属性和值。然后,我们将activeStyle传递给每个NavLink组件的activeStyle属性。这将使当前页面的链接加粗并显示为红色。

代码和注释

下面是一个完整的代码示例,它演示了如何使用NavLink来创建一个具有样式和路由功能的导航栏:

import React from "react";
import { NavLink } from "react-router-dom";function Navigation() {// 定义在活动状态下使用的CSS样式const activeStyle = {fontWeight: "bold",color: "red"};return (<nav><ul>{/* 创建Home链接 */}<li><NavLink exact to="/" activeClassName="active" activeStyle={activeStyle}>Home</NavLink></li>{/* 创建About链接 */}<li><NavLink to="/about" activeClassName="active" activeStyle={activeStyle}>About</NavLink></li>{/* 创建Contact链接 */}<li><NavLink to="/contact" activeClassName="active" activeStyle={activeStyle}>Contact</NavLink></li></ul></nav>);
}export default Navigation;

在上面的代码中,我们首先导入React和NavLink。然后,我们定义了一个名为activeStyle的常量,它包含在活动状态下使用的CSS属性和值。接下来,我们使用NavLink创建三个链接,并将activeClassName和activeStyle设置为“active”和activeStyle,以使当前页面的链接突出显示。最后,我们将Navigation组件导出为默认值。

在本文中,我们深入研究了NavLink的API和属性,并提供了基本的使用案例和场景,以及代码和注释。NavLink是React中非常有用的组件之一,它可以帮助我们轻松地为导航栏添加样式和路由功能。如果您正在开发React应用程序,并且需要一个易于使用的导航组件,那么NavLink是一个很好的选择。

相关文章:

react中设置activeClassName的笔记

React是一种流行的JavaScript库&#xff0c;用于构建动态用户界面。它具有许多有用的组件&#xff0c;其中之一是NavLink组件。NavLink组件用于在React应用程序中创建链接&#xff0c;并且它具有许多有用的属性&#xff0c;例如选中的样式设置。 react-router-dom": “^6…...

JS原型对象prototype

让我简单的为大家介绍一下原型对象prototype吧&#xff01; 使用原型实现方法共享 1.构造函数通过原型分配的函数是所有对象所 共享的。 2.JavaScript 规定&#xff0c;每一个构造函数都有一个 prototype 属性&#xff0c;指向另一个对象&#xff0c;所以我们也称为原型对象…...

nodejs+vue实验室上机管理系统的设计与实现-微信小程序-安卓-python-PHP-计算机毕业设计

用户&#xff1a;管理员、教师、学生 基础功能&#xff1a;管理课表、管理机房情况、预约机房预约&#xff1b;权限不同&#xff0c;预约类型不同&#xff0c;教师可选课堂预约和个人&#xff1b;课堂预约。 在实验室上机前&#xff0c;实验室管理员需要对教务处发来的上机课表…...

SpringBoot 注解开发

利用自定义注解&#xff0c;解决问题 例1 自定义注解限制请求 场景&#xff1a;前端发起的频繁的请求&#xff0c;导致服务器压力过大。需要对后端接口进行限流处理&#xff0c;每个接口都需要做限流处理的话就会导致代码冗余&#xff0c;此时就可以利用注解进行解决 非注解形…...

使用持久卷部署 WordPress 和 MySQL

&#x1f5d3;️实验环境 OS名称Microsoft Windows 11 家庭中文版系统类型x64-based PCDocker版本Docker version 24.0.6, build ed223bcminikube版本v1.32.0 &#x1f587;️创建 kustomization.yaml 你可以通过 kustomization.yaml 中的生成器创建一个 Secret存储密码或密…...

2024年csdn最新最全的Postman接口测试: postman实现参数化

什么时候会用到参数化 比如&#xff1a;一个模块要用多组不同数据进行测试 验证业务的正确性 Login模块&#xff1a;正确的用户名&#xff0c;密码 成功&#xff1b;错误的用户名&#xff0c;正确的密码 失败 postman实现参数化 在实际的接口测试中&#xff0c;部分参数…...

开发知识点-uniapp微信小程序-开发指南

uniapp Vue的原型链生命周期函数onLoaduni.chooseLocationgetCurrentPages美团外卖微信小程序开发uniapp-美团外卖微信小程序开发P1 成果展示P2外卖小程序后端&#xff0c;学习给小程序写http接口P3 主界面配置P4 首页组件拆分P13 外卖列表布局筛选组件商家 布局测试数据创建样…...

Vue3+Vite实现工程化,事件绑定以及修饰符

我们可以使用v-on来监听DOM事件&#xff0c;并在事件触发时执行对应的Vue的Javascript代码。 用法&#xff1a;v-on:click "handler" 或简写为 click "handler"vue中的事件名原生事件名去掉 on 前缀 如:onClick --> clickhandler的值可以是方法事件…...

20、动态路由_下滑线为前缀的目录

创建文件 pages_question\index.vue pages_question\detail.vue 生成的对应路由&#xff1a; const _6bf6ece8 () > interopDefault(import(..\\pages\\_question\\index.vue /* webpackChunkName: "pages/_question/index" */)) const _a98c80aa () > in…...

中间件安全: Apache 远程代码执行 (CVE-2021-42013)

中间件安全&#xff1a; Apache 远程代码执行 &#xff08;CVE-2021-42013&#xff09; Apache HTTP Server是美国阿帕奇&#xff08;Apache&#xff09;基金会的一款开源网页服务器。该服务器具有快速、可靠且可通过简单的API进行扩充的特点&#xff0c;发现 Apache HTTP Ser…...

YOLOv8优化与量化(1000+ FPS性能)

YOLO家族又添新成员了&#xff01;作为目标检测领域著名的模型家族&#xff0c;you only look once (YOLO) 推 出新模型的速度可谓是越来越快。就在刚刚过去的1月份&#xff0c;YOLO又推出了最新的YOLOv8模型&#xff0c;其模型结构和架构上的创新以及所提供的性能提升&#xf…...

python urllib open 头部信息错误

header 有些字符在 lighttpd server 中无法正常解析,需要转换 quteo 可以转换 就跨平台而言,Rust 和 python 一样优秀,看了在stm32 上使用 Rust 进行编程,从一定程度上,而言&#xff0c;稳定和安全性要比C 开发的好的多,说出来可能不信&#xff0c;在单片机上是可以对空指针进行…...

nn.KLDivLoss,nn.CrossEntropyLoss,nn.MSELoss,Focal_Loss

KL loss&#xff1a;https://blog.csdn.net/qq_50001789/article/details/128974654 https://pytorch.org/docs/stable/nn.html 1. nn.L1Loss 1.1 公式 L1Loss: 计算预测 x和 目标y之间的平均绝对值误差MAE, 即L1损失&#xff1a; l o s s 1 n ∑ i 1 , . . . n ∣ x i…...

HTTP Error 500.31 - Failed to load ASP.NET Core runtime

在winserver服务器上部署net6应用后&#xff0c;访问接口得到以下提示&#xff1a; 原因是因为没有安装net6的运行时和环境&#xff0c;我们可以在windows自带的 “事件查看器” 查看原因。 可以直接根据给出的地址去官网下载sdk环境&#xff0c;安装即可 下载对应的net版本…...

2023.11.17 关于 Spring Boot 日志文件

目录 日志文件作用 常见的日志框架说明 门面模式 日志的使用 日志的级别 六种级别 日志级别的设置 日志的持久化 使用 Lombok 输出日志 实现原理 普通打印和日志的区别 日志文件作用 记录 错误日志 和 警告日志&#xff08;发现和定位问题&#xff09;记录 用户登录…...

【框架整合】Redis限流方案

1、Redis实现限流方案的核心原理&#xff1a; redis实现限流的核心原理在于redis 的key 过期时间&#xff0c;当我们设置一个key到redis中时&#xff0c;会将key设置上过期时间&#xff0c;这里的实现是采用lua脚本来实现原子性的。2、准备 引入相关依赖 <dependency>…...

NSS [鹤城杯 2021]Middle magic

NSS [鹤城杯 2021]Middle magic 源码直接给了。 粗略一看&#xff0c;一共三个关卡 先看第一关&#xff1a; if(isset($_GET[aaa]) && strlen($_GET[aaa]) < 20){$aaa preg_replace(/^(.*)level(.*)$/, ${1}<!-- filtered -->${2}, $_GET[aaa]);if(preg_m…...

Sqlite安装配置及使用

一、下载SQLite Sqlite官网 我下载的是3370000版本:sqlite-dll-win64-x64-3370000.zip 和 sqlite-tools-win32-x86-3370000.zip 二、解压下载的两个压缩包 三、配置环境 四、检查是否安装配置成功 winR&#xff1a;输入cmd调出命令窗口&#xff0c;输入sqlite3后回车查看s…...

参数估计(一)(点估计)

文章目录 点估计和估计量的求法点估计概念矩估计法极大似然估计法 参考文献 参数估计是数理统计中重要的基本问题之一。通常&#xff0c;称参数的可容许值的全体为参数空间&#xff0c;并记为 Θ \Theta Θ。所谓参数估计就是由样本对总体分布所含的未知参数做出估计。另外&am…...

kubenetes-服务发现和负载均衡

一、服务发布 kubenetes把服务发布至集群内部或者外部&#xff0c;服务的三种不同类型&#xff1a; ClusterlPNodePortLoadBalancer ClusterIP是发布至集群内部的一个虚拟IP,通过负载均衡技术转发到不同的pod中。 NodePort解决的是集群外部访问的问题&#xff0c;用户可能不…...

【Python】 -- 趣味代码 - 小恐龙游戏

文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

linux之kylin系统nginx的安装

一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源&#xff08;HTML/CSS/图片等&#xff09;&#xff0c;响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址&#xff0c;提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

简易版抽奖活动的设计技术方案

1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

【JavaEE】-- HTTP

1. HTTP是什么&#xff1f; HTTP&#xff08;全称为"超文本传输协议"&#xff09;是一种应用非常广泛的应用层协议&#xff0c;HTTP是基于TCP协议的一种应用层协议。 应用层协议&#xff1a;是计算机网络协议栈中最高层的协议&#xff0c;它定义了运行在不同主机上…...

CMake基础:构建流程详解

目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...

工程地质软件市场:发展现状、趋势与策略建议

一、引言 在工程建设领域&#xff0c;准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具&#xff0c;正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

在Ubuntu中设置开机自动运行(sudo)指令的指南

在Ubuntu系统中&#xff0c;有时需要在系统启动时自动执行某些命令&#xff0c;特别是需要 sudo权限的指令。为了实现这一功能&#xff0c;可以使用多种方法&#xff0c;包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法&#xff0c;并提供…...

ElasticSearch搜索引擎之倒排索引及其底层算法

文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...

C++八股 —— 单例模式

文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全&#xff08;Thread Safety&#xff09; 线程安全是指在多线程环境下&#xff0c;某个函数、类或代码片段能够被多个线程同时调用时&#xff0c;仍能保证数据的一致性和逻辑的正确性&#xf…...

《C++ 模板》

目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板&#xff0c;就像一个模具&#xff0c;里面可以将不同类型的材料做成一个形状&#xff0c;其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式&#xff1a;templa…...