jjinny_0609
냐냥
jjinny_0609
전체 방문자
오늘
어제
  • 분류 전체보기 (249)
    • IT (18)
      • Eclipse (1)
      • 라즈베리파이 (8)
      • 정보처리기사 (2)
      • 팀 프로젝트 (5)
      • 자료구조 (1)
      • CS 지식 (0)
    • 프로그래밍 언어 (75)
      • Java (33)
      • 파이썬 (4)
      • Node.js (38)
    • 프론트엔드(Frontend) (83)
      • HTML (7)
      • CSS (8)
      • JavaScript (10)
      • jQuery (2)
      • React (50)
      • Vue.js (6)
    • 백엔드(Backend) (62)
      • 네트워크 (1)
      • 데이터베이스 (49)
      • Spring (6)
      • JSP (6)
    • 협업 도구 (6)
      • Git & GitHub (6)
    • 리뷰 (1)
      • 향수 (1)
    • Game Engine (2)
      • 언리얼 엔진5 (1)
      • Unity (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 블로그관리 홈
  • 글쓰기
  • 글관리

공지사항

인기 글

hELLO · Designed By 정상우.
jjinny_0609

냐냥

[React] 컴포넌트에 여러 상태 만들기
프론트엔드(Frontend)/React

[React] 컴포넌트에 여러 상태 만들기

2023. 11. 20. 11:34
728x90

"한 컴포넌트에서 상태를 여러 조각으로 나눌 수 있을까?"

이번 글에서는 두 가지 상태를 가진 컴포넌트를 만들어보면서 이 질문에 대한 해답을 알아보겠습니다.

실제로 유용한 예제는 아니지만, 한 컴포넌트에서 여러 상태 조각을 사용하는 방법을 보여주기 위한 예시입니다.

ToggleCounter 컴포넌트 생성

새로운 컴포넌트인 ToggleCounter.jsx를 생성하고, 기본적인 틀을 이전에 만들었던 Toggler 컴포넌트에서 복사해옵니다.

// ToggleCounter.jsx
import React, { useState } from 'react';
import './ToggleCounter.css'; // 스타일링을 위한 CSS 파일 가져오기

export default function ToggleCounter() {
  const [isHappy, setIsHappy] = useState(true);
  const [count, setCount] = useState(0);

  const toggleIsHappy = () => {
    setIsHappy(!isHappy);
  };

  const incrementCount = () => {
    setCount(count + 2);
  };

  return (
    <div className="ToggleCounter" onClick={toggleIsHappy}>
      {isHappy ? <span role="img" aria-label="happy face">😊</span> : <span role="img" aria-label="sad face">😢</span>}
      <p>Count: {count}</p>
      <button onClick={incrementCount}>+</button>
    </div>
  );
}

스타일링 추가

이제 ToggleCounter.css 파일을 생성하여 컴포넌트에 스타일을 추가합니다.

/* ToggleCounter.css */
.ToggleCounter {
  cursor: pointer;
  font-size: 2rem;
  display: inline-block;
  margin: 10px;
}

 

사용하기

만든 컴포넌트를 사용해봅시다. App.jsx에서 ToggleCounter를 렌더링합니다.

// App.jsx
import React from 'react';
import ToggleCounter from './ToggleCounter';

function App() {
  return (
    <div>
      <h1>Multiple State in a Component</h1>
      <ToggleCounter />
    </div>
  );
}

export default App;

동작 확인

리액트 앱을 실행하고 토글로 상태를 변경하고, 버튼을 눌러 카운트를 증가시켜보세요. 한 컴포넌트 안에서 서로 다른 두 상태 조각을 사용하여 독립적으로 상태를 관리하는 것을 확인할 수 있습니다. 이렇게 필요에 따라 여러 개의 상태를 가진 컴포넌트를 만들 수 있습니다.

728x90

'프론트엔드(Frontend) > React' 카테고리의 다른 글

[React] 컬러박스 예제: 리액트 상태 활용하기  (0) 2023.11.20
[React] useState()와 렌더링  (0) 2023.11.20
[React] 토글 스위치 컴포넌트 만들기  (0) 2023.11.20
[React] State 소개와 useState() 훅 사용  (0) 2023.11.20
[React] 클리커 예제  (0) 2023.11.19
    jjinny_0609
    jjinny_0609
    뉴비 개발자의 학습 내용을 정리한 블로그입니다.

    티스토리툴바