如何在 ReactJS 中创建 Switch?

如何在 reactjs 中创建 switch?

ReactJS 是一个用于构建用户界面的流行 JavaScript 库,它提供了开发交互式组件的有效方法。切换开关经常用于允许用户在 Web 应用程序中在深色模式和浅色模式主题之间切换。切换开关还可用于显示或隐藏页面的特定内容或部分。在本文中,我们将探讨如何使用 ReactJS 创建切换开关。

先决条件

在继续本教程之前,假设您对 ReactJS 有基本的了解,并且已经设置了安装了 Node.js 和 npm 的开发环境。

设置 React 应用程序并安装所需的库

首先,让我们使用 Create React App 创建一个新的 React 应用程序。打开命令提示符并运行以下命令:

npx create-react-app toggle-slider-switch

此命令将创建一个名为“toggle-slider-switch”的新目录,并在其中设置一个基本的 React 应用程序。要导航到项目目录,请编写以下命令。

cd toggle-slider-switch

第 2 步:创建 ToggleSlider 组件

在项目的 src 目录中,创建一个名为 ToggleSlider.js 的新文件。该文件将包含我们的切换滑块组件代码。在您喜欢的文本编辑器中打开 ToggleSlider.js 文件并添加以下代码:

示例

在下面的代码中,我们从 React 导入了 useState 钩子,它允许我们处理功能组件中的状态。我们定义一个 ToggleSlider 组件,它使用检查的变量维护开关的状态。 handleToggle 函数负责在单击开关时更新状态。

import React, { useState } from 'react';import './ToggleSlider.css';const ToggleSlider = () => {  const [checked, setChecked] = useState(false);  const handleToggle = () => {    setChecked(!checked);  };  return (    
);};export default ToggleSlider;

第 3 步:设置切换滑块的样式

在同一目录 (src) 中创建一个名为 ToggleSlider.css 的新文件。添加以下 CSS 代码来设置切换滑块的样式:

阿里妈妈·创意中心 阿里妈妈·创意中心

阿里妈妈营销创意中心

阿里妈妈·创意中心 0 查看详情 阿里妈妈·创意中心

示例

在下面的代码中,CSS 代码设置了切换滑块的样式,包括开关及其滑块手柄。 input[type=’checkbox’] 被隐藏,我们使用标签来触发切换效果。

.toggle-slider {  position: relative;  width: 60px;  height: 34px;}.slider {  position: absolute;  top: 0;  left: 0;  right: 0;  bottom: 0;  background-color: #ccc;  border-radius: 34px;  cursor: pointer;  transition: 0.4s;}.slider:before {  position: absolute;  content: '';  height: 26px;  width: 26px;  left: 4px;  bottom: 4px;  background-color: white;  border-radius: 50%;  transition: 0.4s;}input[type='checkbox'] {  display: none;}input[type='checkbox']:checked + .slider {  background-color: #2196f3;}input[type='checkbox']:checked + .slider:before {  transform: translateX(26px);}

第 4 步:实现 ToggleSlider 组件

接下来,让我们修改 src 目录中的 App.js 文件以包含我们的 ToggleSlider 组件。打开 App.js 文件并使用以下代码更新其内容

示例

在下面的代码中,我们导入 ToggleSlider 组件并将其呈现在 App 组件中。这将在屏幕上显示我们的切换滑块。

import React from 'react';import ToggleSlider from './ToggleSlider';const App = () => {  return (    

Toggle Slider Example

);};export default App;

第 5 步:运行 React 应用

现在,我们可以运行我们的切换开关应用程序。在命令提示符中,确保您位于项目的根目录中(切换滑块开关)。运行以下命令启动React开发服务器:

编译过程完成后,您的默认浏览器将打开,您应该在屏幕上看到标题“Toggle Slider Example”以及切换滑块。

npm start

第 6 步:测试切换滑块

单击切换滑块将切换其状态并更改其外观。 ToggleSlider 组件中的初始状态设置为“false”,因此当您单击滑块时,它会变成蓝色,表示“true”状态。再次点击,将返回初始状态。

输出


结论

在本文中,我们讨论了如何在 Reactjs 中创建开关。我们介绍了分步过程,包括设置 React 应用程序、创建切换滑块组件、设置滑块样式、实现组件以及运行应用程序。通过遵循本指南,您现在应该在 ReactJS 应用程序中拥有一个功能切换滑块开关,准备进一步自定义并集成到您的项目中。

以上就是如何在 ReactJS 中创建 Switch?的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/527814.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
python有linux版吗
上一篇 2025年11月9日 09:03:43
优酷怎么设置默认清晰度_优酷默认画质设置方法
下一篇 2025年11月9日 09:03:46

相关推荐

  • 手机摄像头被入侵特征 手机摄像头被入侵有哪些特征

    手机摄像头被入侵特征 手机摄像头被入侵有哪些特征手机摄像头被入侵特征 手机摄像头被入侵有哪些特征手机摄像头被入侵特征 手机摄像头被入侵有哪些特征手机摄像头被入侵特征 手机摄像头被入侵有哪些特征

    手机摄像头入侵特征包括:异常指示灯闪烁、可疑应用权限、隐私泄露、摄像头画面模糊、异常噪声、设备过热、远程访问,发现这些特征应采取措施断开网络、关闭摄像头、扫描恶意软件、检查权限、恢复出厂设置、报告执法机构。 手机摄像头被入侵的特征 随着智能手机的普及,摄像头入侵事件逐渐增多。一旦摄像头被入侵,黑客可…

    2026年9月24日 用户投稿
    100
  • windows声音图标有个红叉怎么办_声音图标红叉问题的解决方法

    windows声音图标有个红叉怎么办_声音图标红叉问题的解决方法windows声音图标有个红叉怎么办_声音图标红叉问题的解决方法windows声音图标有个红叉怎么办_声音图标红叉问题的解决方法windows声音图标有个红叉怎么办_声音图标红叉问题的解决方法

    首先检查并启动Windows音频服务,确保Windows Audio和Windows Audio Endpoint Builder服务已运行;接着更新或重装声卡驱动程序,通过设备管理器卸载后重启以重新安装驱动;若问题仍存,需通过注册表编辑器检查HKEY_LOCAL_MACHINESOFTWAREMi…

    2026年9月24日 用户投稿
    000
  • 铁路12306电子发票下载失败怎么解决_铁路12306电子发票下载问题解决方案

    铁路12306电子发票下载失败怎么解决_铁路12306电子发票下载问题解决方案铁路12306电子发票下载失败怎么解决_铁路12306电子发票下载问题解决方案铁路12306电子发票下载失败怎么解决_铁路12306电子发票下载问题解决方案铁路12306电子发票下载失败怎么解决_铁路12306电子发票下载问题解决方案

    首先检查网络连接并重新尝试下载电子发票,若失败可联系12306客服重发,同时查看邮箱垃圾文件夹,最后可通过个人所得税App等工具同步管理发票。 如果您在尝试下载铁路12306电子发票时遇到失败情况,可能是由于网络连接、系统状态或权限设置等问题导致。以下是针对该问题的多种解决方案。 本文运行环境:iP…

    2026年9月24日 用户投稿
    100
  • AI音频工具有哪些_好用的AI音频工具大全

    AI音频工具有哪些_好用的AI音频工具大全AI音频工具有哪些_好用的AI音频工具大全AI音频工具有哪些_好用的AI音频工具大全AI音频工具有哪些_好用的AI音频工具大全

    ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ 魔音工坊:AI配音神器,轻松打造媲美真人声线 讯飞智作:科大讯飞出品的语音转换与配音利器 听脑AI:智能语音记录助手 Suno:高品质AI音乐创作平台 海绵音乐:字节旗下免费AI音乐创作与探索平…

    2026年9月24日 用户投稿
    300
  • 手机淘宝中如何收藏店铺?手机淘宝中如何收藏店铺信息

    手机淘宝中如何收藏店铺?手机淘宝中如何收藏店铺信息手机淘宝中如何收藏店铺?手机淘宝中如何收藏店铺信息手机淘宝中如何收藏店铺?手机淘宝中如何收藏店铺信息手机淘宝中如何收藏店铺?手机淘宝中如何收藏店铺信息

    1、可通过店铺主页、客服聊天窗口或“我的收藏”反向添加三种方式收藏淘宝店铺。进入店铺主页点击“+店铺”,或从聊天界面点店铺头像后关注,也可在收藏的商品页进店并收藏,操作后可在收藏夹随时访问该店铺。 如果您想在浏览商品时将心仪的商家店铺保存下来以便日后快速访问,可以通过手机淘宝的收藏功能来实现。将店铺…

    2026年9月24日 用户投稿
    400
  • 比漫熊正版官网入口_比漫熊漫画官网正版漫画在线阅读地址

    比漫熊正版官网入口_比漫熊漫画官网正版漫画在线阅读地址比漫熊正版官网入口_比漫熊漫画官网正版漫画在线阅读地址比漫熊正版官网入口_比漫熊漫画官网正版漫画在线阅读地址比漫熊正版官网入口_比漫熊漫画官网正版漫画在线阅读地址

    比漫熊漫画官网入口为https://www.bimanxiong.com,平台涵盖恋爱、悬疑等多种题材,每日更新连载,提供高清画质与简洁界面,支持分类筛选、夜间模式及书架收藏,优化阅读体验。 比漫熊漫画官网入口地址在哪里?这是不少网友都关注的,接下来由PHP小编为大家带来比漫熊漫画官网在线阅读入口地…

    2026年9月24日 用户投稿
    700
  • NVIDIA GeForce RTX 4090 液氮超频世界纪录挑战全程

    NVIDIA GeForce RTX 4090 液氮超频世界纪录挑战全程NVIDIA GeForce RTX 4090 液氮超频世界纪录挑战全程NVIDIA GeForce RTX 4090 液氮超频世界纪录挑战全程NVIDIA GeForce RTX 4090 液氮超频世界纪录挑战全程

    RTX 4090液氮超频突破4090MHz,成为首款破4GHz的消费级显卡,七彩虹iGame LAB显卡在液氮冷却下创下3DMark多项世界纪录,展现AD102核心极限性能潜力。 RTX 4090 液氮超频破纪录,不只是频率数字的突破,更是硬件极限与技术操作的集中体现。德国超频高手 CENS 使用七…

    2026年9月24日 用户投稿
    000
  • 台积电2nm忙着涨价50% 三星低价抢单:足足便宜三成

    台积电2nm忙着涨价50% 三星低价抢单:足足便宜三成台积电2nm忙着涨价50% 三星低价抢单:足足便宜三成台积电2nm忙着涨价50% 三星低价抢单:足足便宜三成台积电2nm忙着涨价50% 三星低价抢单:足足便宜三成

    9月29日消息,全球半导体制造工艺正快速迈向2nm时代,台积电计划于明年正式投入量产。苹果将再次拔得头筹,预计其新一代m5芯片将成为首款搭载2nm工艺的产品。 NVIDIA此次也将打破惯例,提前采用2nm制程技术,预计将应用于其下一代“费曼”GPU架构。新架构有望在明年3月的GTC大会上正式揭晓。 …

    2026年9月24日 用户投稿
    000
  • 2025年最受欢迎的手机数据恢复免费软件

    2025年最受欢迎的手机数据恢复免费软件2025年最受欢迎的手机数据恢复免费软件2025年最受欢迎的手机数据恢复免费软件2025年最受欢迎的手机数据恢复免费软件

    数据恢复软件可找回误删的手机数据,推荐2025年实用工具:一、数据蛙恢复专家支持快速与深度扫描,预览后导出至电脑;二、转转大师操作简单,适合新手,可恢复多种场景数据;三、Recuva无需安装,擅长小文件快速恢复,建议启用深度扫描;四、奇客数据恢复专为安卓设计,兼容性强,无需Root即可恢复消息与媒体…

    2026年9月24日 用户投稿
    100
  • Java正则表达式:利用词边界实现精确的非贪婪字符串替换

    Java正则表达式:利用词边界实现精确的非贪婪字符串替换Java正则表达式:利用词边界实现精确的非贪婪字符串替换Java正则表达式:利用词边界实现精确的非贪婪字符串替换Java正则表达式:利用词边界实现精确的非贪婪字符串替换

    本教程探讨如何在Java中使用正则表达式精确替换字符串中的特定部分,特别是在目标字符串不应消耗后续字符的场景。通过分析常见错误,文章详细介绍了词边界的原理与应用,展示了如何利用它实现非贪婪且不破坏原字符串结构的替换,确保匹配的精确性与替换结果的完整性。 在处理字符串替换时,我们经常面临需要精确匹配特…

    2026年9月24日 用户投稿
    700
  • ubuntu如何mount一个远程目录

    在ubuntu中挂载一个远程目录,通常可以使用nfs(network file system)或者sshfs(ssh filesystem)。以下是两种方法的步骤: 方法一:使用NFS挂载远程目录 安装NFS客户端(如果尚未安装): sudo apt updatesudo apt install n…

    2026年9月24日
    700
  • sublime怎么完全重置到初始状态_sublime恢复默认配置的步骤

    sublime怎么完全重置到初始状态_sublime恢复默认配置的步骤sublime怎么完全重置到初始状态_sublime恢复默认配置的步骤sublime怎么完全重置到初始状态_sublime恢复默认配置的步骤sublime怎么完全重置到初始状态_sublime恢复默认配置的步骤

    完全重置Sublime Text需先关闭程序,再删除系统中的Data目录:Windows路径为C:Users用户名AppDataRoamingSublime TextData,macOS为~/Library/Application Support/Sublime Text/Data,Linux为~/…

    2026年9月24日 用户投稿
    300
  • 半导体巨头EUV光刻机数量曝光:台积电唯一过百 日本2nm公司醒目

    半导体巨头EUV光刻机数量曝光:台积电唯一过百 日本2nm公司醒目半导体巨头EUV光刻机数量曝光:台积电唯一过百 日本2nm公司醒目半导体巨头EUV光刻机数量曝光:台积电唯一过百 日本2nm公司醒目半导体巨头EUV光刻机数量曝光:台积电唯一过百 日本2nm公司醒目

    在半导体制造领域,工艺节点越先进,对光刻设备的要求也越高。尤其是5nm及以下制程的量产,几乎完全依赖EUV(极紫外)光刻机。目前全球范围内仅有ASML能够提供此类高端设备,因此台积电、三星、Intel等头部厂商均需向其采购。 那么,在这些行业巨头中,谁掌握的EUV光刻机数量最多?调研机构BOFA发布…

    2026年9月24日 用户投稿
    200
  • 苹果手机声音小怎么办 苹果手机声音调大方法

    苹果手机声音小怎么办 苹果手机声音调大方法苹果手机声音小怎么办 苹果手机声音调大方法苹果手机声音小怎么办 苹果手机声音调大方法苹果手机声音小怎么办 苹果手机声音调大方法

    苹果手机声音小可能是音量设置低、扬声器堵塞、蓝牙连接问题、软件故障、耳机插孔脏污等因素导致。解决方法包括:检查音量设置、清洁扬声器、检查蓝牙连接、重启手机、检查耳机插孔、恢复出厂设置或联系 Apple 支持。 苹果手机声音小怎么办? 问题回答: 苹果手机声音小可能是由于多种因素造成的,可以尝试以下方…

    2026年9月24日 用户投稿
    300
  • win8怎么关闭metro应用后台运行_Win8 Metro应用后台关闭方法

    win8怎么关闭metro应用后台运行_Win8 Metro应用后台关闭方法win8怎么关闭metro应用后台运行_Win8 Metro应用后台关闭方法win8怎么关闭metro应用后台运行_Win8 Metro应用后台关闭方法win8怎么关闭metro应用后台运行_Win8 Metro应用后台关闭方法

    通过任务管理器结束进程、调整隐私设置禁用后台权限、使用组策略限制应用运行及修改注册表可有效控制Windows 8中Metro应用的后台活动。 如果您在使用Windows 8系统时发现Metro应用在后台持续运行,导致资源占用较高或影响电池续航,则可以通过以下方法进行管理。这些操作将帮助您有效控制Me…

    2026年9月24日 用户投稿
    100
  • JFugue中和弦解析的深度解析与实践

    JFugue中和弦解析的深度解析与实践JFugue中和弦解析的深度解析与实践JFugue中和弦解析的深度解析与实践JFugue中和弦解析的深度解析与实践

    JFugue库的onChordParsed方法不会被调用,因为JFugue将和弦分解为独立的音符进行处理。本文详细阐述了如何通过onNoteParsed方法结合音符的isFirstNote(), isHarmonicNote(), isMelodicNote()属性来识别Staccato字符串中的和…

    2026年9月24日 用户投稿
    100
  • 公众号文章如何插入小程序_在文章中插入小程序的正确操作方法

    公众号文章如何插入小程序_在文章中插入小程序的正确操作方法公众号文章如何插入小程序_在文章中插入小程序的正确操作方法公众号文章如何插入小程序_在文章中插入小程序的正确操作方法公众号文章如何插入小程序_在文章中插入小程序的正确操作方法

    可通过图文编辑器插入小程序卡片,设置封面标题及路径;或将小程序链接设为“阅读原文”跳转目标;也可通过自定义菜单关联小程序并引导用户点击;对于无法使用插件的情况,可生成小程序码图片嵌入文章,配以“长按识别”提示语。 如果您希望在公众号文章中增加互动性或引导用户使用特定功能,可以通过插入小程序来实现。小…

    2026年9月24日 用户投稿
    100
  • sublime怎么用快捷键关闭当前文件_sublime关闭标签页快捷操作

    sublime怎么用快捷键关闭当前文件_sublime关闭标签页快捷操作sublime怎么用快捷键关闭当前文件_sublime关闭标签页快捷操作sublime怎么用快捷键关闭当前文件_sublime关闭标签页快捷操作sublime怎么用快捷键关闭当前文件_sublime关闭标签页快捷操作

    答案是Ctrl+W(Windows/Linux)或Cmd+W(Mac)关闭当前标签页,前者适用于Windows和Linux系统,后者适用于macOS系统,符合各自平台操作习惯,可高效管理编辑界面。 在 Sublime Text 中关闭当前文件(即关闭标签页)可以通过快捷键快速完成,操作简单高效。 W…

    2026年9月24日 用户投稿
    100
  • Agent Zero— 开源可扩展AI框架,通过用户指令和任务动态学习

    Agent Zero— 开源可扩展AI框架,通过用户指令和任务动态学习Agent Zero— 开源可扩展AI框架,通过用户指令和任务动态学习Agent Zero— 开源可扩展AI框架,通过用户指令和任务动态学习Agent Zero— 开源可扩展AI框架,通过用户指令和任务动态学习

    agent zero 是一个开源的、可扩展的人工智能框架,能够作为用户的个性化智能助手。它不是基于预设功能的工具,而是通过用户指令和任务来动态学习与成长。agent zero 具备持久记忆能力,可以存储过往的解决方案、代码和事实信息,从而更快速地应对未来的任务。该框架将操作系统视为执行任务的工具,具…

    2026年9月24日 用户投稿
    100
  • 怎么在mysql中创建一个表 mysql新建数据表步骤教程

    在 mysql 中创建表的步骤和建议包括:1. 明确业务需求,设计表结构;2. 使用 create table 语句创建表,选择合适的数据类型和设置主键、索引;3. 考虑大数据量时使用分区;4. 设置正确的字符集和排序规则;5. 谨慎使用索引;6. 使用 if not exists 避免重复创建表。…

    2026年9月24日
    100

发表回复

登录后才能评论
关注微信