如何在ReactJS中创建开关?


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组件,该组件使用checked变量维护开关的状态。handleToggle函数负责在单击开关时更新状态。

import React, { useState } from 'react';
import './ToggleSlider.css';

const ToggleSlider = () => {
  const [checked, setChecked] = useState(false);

  const handleToggle = () => {
    setChecked(!checked);
  };

  return (
    <div className="toggle-slider">
      <input
        type="checkbox"
        id="toggle"
        checked={checked}
        onChange={handleToggle}
      />
      <label htmlFor="toggle" className="slider" />
    </div>
  );
};

export default ToggleSlider;

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

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

示例

在下面的代码中,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 (
    <div className="app">
      <h1>Toggle Slider Example
      <ToggleSlider />
    </div>
  );
};

export default App;

步骤5:运行React应用程序

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

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

npm start

步骤6:测试切换滑块

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

输出


结论

在本文中,我们讨论了如何在ReactJS中创建开关。我们涵盖了分步过程,包括设置React应用程序、创建切换滑块组件、设置滑块样式、实现组件和运行应用程序。按照本指南操作,您现在应该在ReactJS应用程序中拥有一个功能齐全的切换滑块开关,可以进一步自定义并集成到您的项目中。

更新于:2023年7月17日

浏览量:1000+

开启您的职业生涯

通过完成课程获得认证

开始学习
广告