搜尋
首頁web前端js教程如何在 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 (
    <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 應用程式

現在,我們可以運行我們的切換開關應用程式。在命令提示字元中,確保您位於專案的根目錄中(切換滑桿開關)。執行以下命令啟動React開發伺服器:

編譯過程完成後,您的預設瀏覽器將會打開,您應該會在螢幕上看到標題「Toggle Slider Example」以及切換滑桿。

npm start

第 6 步:測試切換滑桿

點擊切換滑桿將切換其狀態並變更其外觀。 ToggleSlider 元件中的初始狀態設定為“false”,因此當您按一下滑桿時,它會變成藍色,表示“true”狀態。再次點擊,將返回初始狀態。

輸出


結論

在本文中,我們討論如何在 Reactjs 中建立開關。我們介紹了逐步過程,包括設定 React 應用程式、建立切換滑桿元件、設定滑桿樣式、實作元件以及執行應用程式。透過遵循本指南,您現在應該在 ReactJS 應用程式中擁有一個功能切換滑桿開關,準備進一步自訂並整合到您的專案中。

以上是如何在 ReactJS 中建立 Switch?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:tutorialspoint。如有侵權,請聯絡admin@php.cn刪除
Python vs. JavaScript:開發環境和工具Python vs. JavaScript:開發環境和工具Apr 26, 2025 am 12:09 AM

Python和JavaScript在開發環境上的選擇都很重要。 1)Python的開發環境包括PyCharm、JupyterNotebook和Anaconda,適合數據科學和快速原型開發。 2)JavaScript的開發環境包括Node.js、VSCode和Webpack,適用於前端和後端開發。根據項目需求選擇合適的工具可以提高開發效率和項目成功率。

JavaScript是用C編寫的嗎?檢查證據JavaScript是用C編寫的嗎?檢查證據Apr 25, 2025 am 12:15 AM

是的,JavaScript的引擎核心是用C語言編寫的。 1)C語言提供了高效性能和底層控制,適合JavaScript引擎的開發。 2)以V8引擎為例,其核心用C 編寫,結合了C的效率和麵向對象特性。 3)JavaScript引擎的工作原理包括解析、編譯和執行,C語言在這些過程中發揮關鍵作用。

JavaScript的角色:使網絡交互和動態JavaScript的角色:使網絡交互和動態Apr 24, 2025 am 12:12 AM

JavaScript是現代網站的核心,因為它增強了網頁的交互性和動態性。 1)它允許在不刷新頁面的情況下改變內容,2)通過DOMAPI操作網頁,3)支持複雜的交互效果如動畫和拖放,4)優化性能和最佳實踐提高用戶體驗。

C和JavaScript:連接解釋C和JavaScript:連接解釋Apr 23, 2025 am 12:07 AM

C 和JavaScript通過WebAssembly實現互操作性。 1)C 代碼編譯成WebAssembly模塊,引入到JavaScript環境中,增強計算能力。 2)在遊戲開發中,C 處理物理引擎和圖形渲染,JavaScript負責遊戲邏輯和用戶界面。

從網站到應用程序:JavaScript的不同應用從網站到應用程序:JavaScript的不同應用Apr 22, 2025 am 12:02 AM

JavaScript在網站、移動應用、桌面應用和服務器端編程中均有廣泛應用。 1)在網站開發中,JavaScript與HTML、CSS一起操作DOM,實現動態效果,並支持如jQuery、React等框架。 2)通過ReactNative和Ionic,JavaScript用於開發跨平台移動應用。 3)Electron框架使JavaScript能構建桌面應用。 4)Node.js讓JavaScript在服務器端運行,支持高並發請求。

Python vs. JavaScript:比較用例和應用程序Python vs. JavaScript:比較用例和應用程序Apr 21, 2025 am 12:01 AM

Python更適合數據科學和自動化,JavaScript更適合前端和全棧開發。 1.Python在數據科學和機器學習中表現出色,使用NumPy、Pandas等庫進行數據處理和建模。 2.Python在自動化和腳本編寫方面簡潔高效。 3.JavaScript在前端開發中不可或缺,用於構建動態網頁和單頁面應用。 4.JavaScript通過Node.js在後端開發中發揮作用,支持全棧開發。

C/C在JavaScript口譯員和編譯器中的作用C/C在JavaScript口譯員和編譯器中的作用Apr 20, 2025 am 12:01 AM

C和C 在JavaScript引擎中扮演了至关重要的角色,主要用于实现解释器和JIT编译器。1)C 用于解析JavaScript源码并生成抽象语法树。2)C 负责生成和执行字节码。3)C 实现JIT编译器,在运行时优化和编译热点代码,显著提高JavaScript的执行效率。

JavaScript在行動中:現實世界中的示例和項目JavaScript在行動中:現實世界中的示例和項目Apr 19, 2025 am 12:13 AM

JavaScript在現實世界中的應用包括前端和後端開發。 1)通過構建TODO列表應用展示前端應用,涉及DOM操作和事件處理。 2)通過Node.js和Express構建RESTfulAPI展示後端應用。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具