> 웹 프론트엔드 > JS 튜토리얼 > 재사용 가능한 구성 요소로 React에서 토글 스위치 생성

재사용 가능한 구성 요소로 React에서 토글 스위치 생성

William Shakespeare
풀어 주다: 2025-02-08 10:17:10
원래의
1003명이 탐색했습니다.

재사용 가능한 구성 요소로 React에서 토글 스위치 생성 이 기사에서는 iOS에서 영감을 얻은 토글 반응 구성 요소를 생성합니다. 이것은 향후 프로젝트에서 재사용 할 수있는 작고 자체 포함 된 구성 요소가 될 것입니다. 우리는 또한 사용자 정의 토글 스위치 구성 요소를 사용하는 간단한 데모 반응 앱도 구축 할 것입니다. 이를 위해 타사 라이브러리를 사용할 수 있지만 구성 요소를 처음부터 구축 할 수 있지만 코드의 작동 방식을 더 잘 이해하고 구성 요소를 완전히 사용자 정의 할 수 있습니다. 체크 박스는 전통적으로 예 또는 아니오, 참 또는 거짓, 활성화 또는 비활성화, 켜기 또는 꺼짐 등과 같은 이진 데이터를 수집하는 데 전통적으로 사용됩니다. 더 큰 접근성으로 인해 여기에서 그들과 함께.

다음은 구축 할 구성 요소의 스크린 샷입니다

키 테이크 아웃

반응 앱 생성을 사용하여 새로운 React 응용 프로그램을 신속하게 설정하고 재사용 가능한 iOS에서 영감을 얻은 토글 스위치 구성 요소를 구축하십시오. 토글 스위치 스타일링을 위해 SCS를 활용하여 시각적으로 매력적이며 현대적인 디자인 표준과 일치합니다. 주 및 동작을 동적으로 관리하기 위해 소품을 사용하여 React의 제어 된 구성 요소로 토글 스위치를 구현합니다. 토글 스위치 키보드에 액세스 할 수 있고 적절한 ARIA 속성을 사용하여 접근성을 향상시킵니다. 필요한 데이터가 전달되고 올바른 유형인지 확인하기 위해 구성 요소 내에서 유형 검사를 위해 proptypes를 사용합니다. 다른 장치에서 토글 스위치의 모양을 조정하기 위해 SCSS 변수와 미디어 쿼리를 통합하여 고급 테마 및 응답 성을 탐색하십시오.

1 단계 - 반응 앱 생성

반응 앱 생성을 사용하여 토글 스위치 반응 구성 요소를 빠르게 가져오고 실행하겠습니다. React 앱 작성에 익숙하지 않은 경우 시작하기 가이드 를 확인하십시오.

모든 것이 설치되면 새로 생성 된 디렉토리로 변경하고 원사 시작으로 서버를 시작하십시오 (또는 원하는 경우 NPM 시작). 이렇게하면

http : // localhost : 3000
. 에서 개발 서버가 시작됩니다 다음으로 SRC 디렉토리에서 토글 스위치 디렉토리를 만듭니다. 이것은 우리가 구성 요소를 만들 것입니다 : 재사용 가능한 구성 요소로 React에서 토글 스위치 생성 이 디렉토리에서 두 파일 : TogglesWitch.js 및 TogglesWitch.scss :
마지막으로 다음과 같이 App.js를 Alter :

2 단계 - 마크 업 우리는 기본 HTML 체크 박스 입력 양식 요소를 필수 특성으로 설정할 수 있습니다.

.
create-react-app toggleswitch
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
그런 다음
태그 주위에
태그를 추가하고 태그 바로 아래에 태그를 추가하여 라벨을 작성하고 토글을 토글합니다!

모든 것을 추가하면 다음과 같은 것을 얻어야합니다

mkdir src/ToggleSwitch
로그인 후 복사
로그인 후 복사
우리는 또한 레이블 텍스트를 제거하고 태그 자체를 사용하여 확인란 입력 컨트롤을 확인하거나 선택 취소 할 수 있습니다. 이를 위해 태그 내부에 두 개의 태그를 추가하여 스위치 홀더와 토글링 스위치를 구성하십시오.

3 단계 - 반응 구성 요소로 변환

이제 우리는 HTML로 들어가야 할 것이 무엇인지 알았으므로 HTML을 React 구성 요소로 변환하기 만하면됩니다. 기본 구성 요소부터 시작하겠습니다. 우리는 이것을 클래스 구성 요소로 만들고, 새로운 개발자가 반응 스위치 버튼을 구축 할 때
usestate 재사용 가능한 구성 요소로 React에서 토글 스위치 생성보다 상태를 따라 가기 쉽기 때문에 후크로 변환합니다. SRC/TogglesWitch/TogglesWitch.js 파일에 다음을 추가하십시오.
이 시점에서 ID의 반복으로 인해 동일한보기 나 페이지에 여러 개의 토글 스위치 슬라이더가있을 수 없습니다. 여기서 React의 구성 방식을 활용할 수는 있지만 propss

를 사용하여 값을 동적으로 채우게됩니다.

this.props.name은 id, name의 값을 채우고 (반응 JS의 htmlfor 임) 동적으로 다른 값을 전달하고 같은 페이지에 여러 인스턴스를 가질 수 있도록합니다.
touch ToggleSwitch.js ToggleSwitch.scss
로그인 후 복사
가 눈치 채면 태그에는 끝 태그가 없습니다. 대신 와 같은 시작 태그에서 닫히고

에서 완전히 정상입니다. 아래 코드로 app.js를 업데이트 하여이 구성 요소를 테스트 할 수 있습니다.

http : // localhost : 3000/(브라우저의 개발 도구를 사용하여)에서 출력을 검사하고 모든 것이 올바르게 작동하는지 확인하십시오. 4 단계 - 스타일링 및 SCSS 나는 최근에

스타일링 반응 구성 요소

에 대해 썼는데, 여기서 이것이 가능한 다양한 방법을 비교했습니다. 이 기사에서 SCSS가 최고의 방법이라고 결론을 내 렸습니다. 이것이 바로 우리가 여기서 사용할 것입니다.
import React from 'react';
import ToggleSwitch from './ToggleSwitch/ToggleSwitch'

function App() {
  return (
    <ToggleSwitch />
  );
}

export default App;
로그인 후 복사
SCSS가 Create React App과 함께 작동하려면 Sass 패키지 를 설치해야합니다. 노 그러나 Node-Sass 라이브러리는 이제 더 이상 사용되지 않았으며 SASS 또는 SASS- embedded를 사용하는 것이 좋습니다. 🎜>

우리는 또한 올바른 파일을 구성 요소로 가져와야합니다 :
<input type="checkbox" name="name"  />
로그인 후 복사
create-react-app toggleswitch
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
이제 스타일링을 위해 지금. 이것은 React Switch 버튼의 스타일링에 대한 우리가 후에 대한 대략적인 개요입니다.

.

기본적으로, 스위치는 폭 75px에 불과하고 인라인 블록으로 수직으로 정렬되어 텍스트가 인라인되어 레이아웃 문제가 발생하지 않도록합니다.
    . 사용자가 컨트롤을 선택할 수 없도록 사용자가 드래그 앤 드롭을 드롭 할 수 없도록합니다. 우리는 원래 확인란 입력을 숨길 것입니다 <:> a :: 이후와 :: pseudo-elements 이전의 pseudo elements는 그들을 돔으로 데려 가서 스타일을 지정하기 위해 요소로 만들어야합니다.
  • . 우리는 또한 멋진 애니메이션 효과를 위해 CSS 전환을 추가 할 것입니다.
  • .
  • 그리고 이것은 SCSS에서 보이는 것입니다. SRC/TogglesWitch/TogglesWitch.scss : 에 다음을 추가하십시오
  • 이제 http : // localhost : 3000/
  • 에서 서버를 다시 실행하면 4 가지 스타일의 토글 스위치가 표시됩니다. 그들을 토글링하십시오. 그들은 모두 일해야합니다.
  • 또한 위의 코드를 살펴 보는 데 시간이 걸립니다. 확실하지 않은 것이 있으면 sass 문서 에 문의하거나
  • itepoint 포럼 . 동적 레이블 현재 토글 옵션은 하드 코딩됩니다 :
  • 구성 요소를보다 유연하게 만들려면 html5 Data-Attributes를 사용하여 컨트롤에서 동적으로 이들을 잡을 수 있습니다.
  • 테스트를위한 데이터 속성을 하드 코드하지만 최종 버전에서는 더 유연하게 만듭니다.
응용 프로그램을 실행하면 다음과 같은 것을 볼 수 있습니다.

6 단계 - 작은 구성 요소 버전 생성 mkdir src/ToggleSwitch 또한 작은 버전의 스위치 구성 요소를 더 작은 화면을 위해 텍스트없이 반응하는 것이 좋은 아이디어입니다. 최소 크기로 스타일을 추가하고 텍스트를 제거해 봅시다 : .

응답 성과 관련하여 전체 크기를 변경해야하므로 CSS 척도 기능을 사용해 보겠습니다. 여기서 우리는 모든 부트 스트랩 기반 반응 형 장치의 비 너비를 다루었습니다. 당신은 toggleswitch.js의 부모

요소에 작은 스위치 클래스를 추가하여 이러한 변경 사항을 테스트 할 수 있습니다. DEV 서버로 돌아가서 변경 사항을 테스트하십시오. 완성 된 SCSS 파일에 대해 가지고있는 내용을 확인하려면
.6 단계 - SCSS의 테마

SCSS에서 변수를 사용할 수 있으므로 여러 색상 테마에 대한 지원을 추가하는 것이 더 쉽습니다. “ sass 테마 : 끝없는 이야기 ”에서 이것에 대한 자세한 내용을 읽을 수 있습니다. 여기에서 몇 가지 색상 테마를 사용하고 모든 원시 색상을 변수로 변경합니다. 처음 세 줄은 구성 가능한 색상 세트로, 우리가 작은 제어를 테마로하는 데 도움이됩니다.

그리고 그것은 스타일링과 함께 있습니다. 이제 상호 작용을 추가하겠습니다.

7 단계 - 상호 작용 및 JavaScript
create-react-app toggleswitch
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
다음 섹션에는 개념을 설명하기위한 데모 코드 만 포함되어 있습니다. 이 섹션에서 실제 토글 스위치 구성 요소를 업데이트해서는 안됩니다.
우리의 기본 구성 요소는 멍청한 구성 요소 (또는 프리젠 테이션 구성 요소)가 될 것입니다. 우리는 통제가 무엇을 의미합니까? 글쎄, 제어되지 않은 버전을 먼저 봅시다 : 재사용 가능한 구성 요소로 React에서 토글 스위치 생성
사용자가 위의 확인란 입력과 상호 작용하면 JavaScript를 작성하지 않아도 확인 된 자체 어코드와 확인되지 않은 상태 사이를 전환합니다. HTML 입력 요소는 DOM을 직접 업데이트하여 자체 내부 상태를 관리 할 수 ​​있습니다. 그러나 반응에서는 다음 예제와 같이

제어 구성 요소를 사용하는 것이 좋습니다.

여기에서 React는 확인란 입력 상태를 제어하고 있습니다. 이 입력과의 모든 상호 작용은 가상 DOM을 통과해야합니다. 구성 요소와 그대로 상호 작용하려고한다면, 우리가 통과하는 점검 된 소품의 값을 변경할 수있는 JavaScript 코드를 정의하지 않았기 때문에 아무 일도 일어나지 않을 것입니다. 이 문제를 해결하려면 OnChange 소품으로 전달할 수 있습니다. 확인란을 클릭 할 때마다 호출 할 함수 :

이제 확인란 입력은 대화식입니다. 사용자는 이전처럼 구성 요소 "on"및 "Off"를 전환 할 수 있습니다. 여기서 유일한 차이점은 초기 통제되지 않은 버전과 달리 상태가 React에 의해 제어된다는 것입니다. 이를 통해 JavaScript를 통해 주어진 시간에 구성 요소의 상태에 쉽게 액세스 할 수 있습니다. 구성 요소를 선언 할 때 초기 값을 쉽게 정의 할 수 있습니다. 이제 토글 스위치 구성 요소에서 이것을 어떻게 사용할 수 있는지 살펴 보겠습니다. 아래는 단순화 된 클래스 기반 예입니다

이제 클래스 기반 구성 요소를 후크를 사용하여 기능적 구성 요소로 변환하겠습니다.

보시다시피, 기능성 구성 요소와 후크 생성 방법을 사용하여 라인 수를 크게 줄였습니다. 반응 후크가 새로운 경우,“

반응 후크 : 자신의 시작 및 구축 방법 ”. 8 단계 - 토글 스위치 구성 요소 마무리 이제 토글 스위치 구성 요소로 돌아가 봅시다. 다음 소품이 필요합니다 :

id (필수) : 확인란 입력 컨트롤로 전달되는 ID입니다. 그것 없이는 구성 요소가 렌더링되지 않습니다 확인 (필수) : 이것은 현재 상태를 유지하며, 이는 부울 가치가 될 것입니다.

onchange (필수) :이 함수는 입력의 OnChange 이벤트 핸들러가 트리거 될 때 호출됩니다.

name (선택 사항) : 확인란 입력의 레이블 텍스트이지만 일반적으로 사용하지 않습니다.
    . small (선택 사항) :이 부울 값은 텍스트를 렌더링하지 않고 작은 모드에서 토글 스위치를 렌더링합니다. 옵션 labels (선택 사항) : 컨트롤의 작은 버전을 사용하지 않는 경우 True and False의 텍스트를 나타내는 두 값의 배열로 토글 스위치로 전달해야 할 수도 있습니다. 예는 텍스트 = {[ "예", "아니오"]}

더 완전한 예 마무리하려면 다음 Codesandbox에서 토글 스위치 구성 요소를 사용하는보다 완전한 예를 보여 드리고자합니다.
mkdir src/ToggleSwitch
로그인 후 복사
로그인 후 복사

이 데모는 같은 페이지의 여러 토글 스위치 구성 요소를 사용합니다. 마지막 3 개의 토글의 상태는 첫 번째 상태에 따라 다릅니다. 즉, 어떤 선택을 수신 할 것인지를 수정하기 전에 마케팅 이메일을 수락해야합니다.

요약 이 기사에서는 React를 사용하여 재사용 가능한 iOS에서 영감을 얻은 React 토글 구성 요소를 만드는 방법을 보여주었습니다. 우리는 SCSS의 구성 요소를 스타일링하여 제어 된 구성 요소로 만들고 소품을 전달하여 사용자 정의하고 키보드에 액세스 할 수 있도록했습니다. 당신은

github repo 에서 React 토글 구성 요소에 대한 완전한 코드를 찾을 수 있습니다. FAQS 재사용 가능한 구성 요소로 React에서 토글 스위치를 만드는 방법 React 토글 스위치의 모양을 사용자 정의 할 수 있습니까?

React 토글 스위치의 모양을 사용자 정의하는 것은 매우 간단합니다. 설계 요구에 맞게 CSS 속성을 수정할 수 있습니다. 예를 들어, 스위치의 배경색, 테두리 색상, 크기 및 모양을 변경할 수 있습니다. 보다 대화 형 사용자 경험을 위해 애니메이션 또는 전환을 추가 할 수도 있습니다. 원활한 사용자 경험을 위해 변경 사항을 전체 응용 프로그램 설계와 일치하게 유지하십시오.

스위치 버튼 반응 구성 요소를 기능 구성 요소와 사용할 수 있습니까? 예, 기능 구성 요소와 함께 React 토글 스위치를 사용할 수 있습니다. 프로세스는 클래스 구성 요소와 함께 사용하는 것과 유사합니다. 기능 구성 요소에서 스위치 구성 요소를 가져 와서 사용하면됩니다. usestate와 같은 후크를 사용하여 스위치의 상태를 관리 할 수 ​​있습니다.

스위치 버튼 반응 구성 요소에 액세스 할 수있는 방법은 무엇입니까? 접근성은 웹 개발의 중요한 측면입니다. React 토글 스위치에 액세스 할 수 있도록 ARIA (액세스 가능한 리치 인터넷 응용 프로그램) 속성을 사용할 수 있습니다. 예를 들어, "Aria-Checked"속성을 사용하여 스위치의 상태를 표시 할 수 있습니다. 또한 키보드 지원을 추가하여 사용자가 키보드를 사용하여 스위치를 전환 할 수 있습니다. 반응 스위치 구성 요소를 어떻게 테스트 할 수 있습니까? 테스트는 개발 프로세스의 필수 부분입니다. Jest 및 React Testing Library와 같은 테스트 라이브러리를 사용하여 React Switch 구성 요소를 테스트 할 수 있습니다. 클릭하면 스위치가 올바르게 토글과 렌더링을 올바르게 처리하고 소품을 올바르게 처리하는지 확인하기 위해 테스트를 작성할 수 있습니다. Redux와 함께 React 토글 스위치를 사용할 수 있습니까? 예, Redux와 함께 React 토글 스위치를 사용할 수 있습니다. Redux 동작 및 감속기를 사용하여 스위치의 상태를 관리 할 수 ​​있습니다. 스위치의 상태를 여러 구성 요소에서 공유해야하거나 응용 프로그램의 전 세계 상태에 영향을 미치는 경우 특히 유용 할 수 있습니다. 반응 토글 스위치에 레이블을 추가하려면 어떻게해야합니까?

반응 토글 스위치를 어떻게 애니메이션 할 수 있습니까? 반응 토글 스위치를 애니메이션하면 사용자 경험이 향상 될 수 있습니다. CSS 전환 또는 애니메이션을 사용하여 스위치를 애니메이션하거나 더 복잡한 애니메이션을 위해 React Spring과 같은 라이브러리를 사용할 수 있습니다.

. TypeScript와 함께 React 토글 스위치를 사용할 수 있습니까? 예, TypeScript와 함께 React 토글 스위치를 사용할 수 있습니다. 소품 유형과 스위치 상태를 정의하면됩니다. 이를 통해 개발 중에 오류를 잡고 코드를보다 강력하고 유지 관리 할 수 ​​있습니다.

스위치 토글의 성능을 최적화하려면? 불필요한 재 렌더를 방지하기 위해 React의 메모 기능을 사용하여 React 토글 스위치의 성능을 최적화 할 수 있습니다. 단일 형태의 여러 토글 스위치에 대한 상태 관리를 어떻게 처리 할 수 ​​있습니까? 객체를 사용하여 각 스위치의 상태를 저장하여 여러 토글 스위치의 상태를 단일 양식으로 관리 할 수 ​​있습니다. 이를 통해 각 스위치의 상태를 쉽게 업데이트하고 액세스 할 수 있으므로 양식 처리가보다 효율적입니다.

위 내용은 재사용 가능한 구성 요소로 React에서 토글 스위치 생성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿