개발/React

React - State로 상태 관리

hanks 2025. 6. 1. 09:09

 

리 렌더(Re-Render), 리 렌더링(Re-Rendering)

→ 컴포넌트의 상태 변화가 바뀐걸 감지해서 자동으로 이 컴포넌트를 다시 렌더링해서 UI를 변경해주는 상황

 

 

컴포넌트의 상태를 의미하고 변화할 수 있는 값인 State를 만들 수 있으며, 아래와 같이 하나의 컴포넌트에 여러개의 상태를 생성하고 관리할 수 있다.

 

useState

→ React가 제공하는 내장 함수를 사용하기 위해 import를 해야한다.

→ Return

0 상태값
1 상태변화함수
const state = useState(0);

 

→ 비구조화 할당 문법을 이용해서 반환을 받는 것이 일반적이다.

const [state, setState] = useState(0);

 

 

실습

App.jsx

import "./App.css";
import { useState } from "react";

function App() {
  const [count, setCount] = useState(0);
  const [light, setLight] = useState("OFF");
  console.log(count);
  console.log(light);
  return (
    <>
      <div>
        <h1>{light}</h1>
        <button
          onClick={() => {
            setLight(light === "ON" ? "OFF" : "ON");
          }}
        >
          {light === "ON" ? "끄기" : "켜기"}
        </button>
      </div>
      <div>
        <h1>{count}</h1>
        <button
          onClick={() => {
            setCount(count + 1);
          }}
        >
          +
        </button>
      </div>
    </>
  );
}

export default App;

설명

useState를 이용해 하나는 count, 하나는 light를 위한 상태와 상태변화함수를 각각 비구조화 할당 문법을 이용해 반환 받고 버튼의 클릭 이벤트를 통해서 각각의 상태를 변화한다. 이 때 상태가 변화하게 되면 App 컴포넌트는 리렌더링이 되어서 아래와 같이 console.log가 계속 찍힌다. 이것은 상태가 변화하면 UI를 다시 렌더링해 준다는 증거가 된다.

 

 

 

 

 

인프런 이정환 강사님 강의를 참고해서 정리했습니다.

 

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지 강의 | 이정환 Winterlood - 인프런

이정환 Winterlood | , 리액트, 한 강의로 끝장낼 수 있어요.한 입 크기로 잘라먹을 수 있도록 도와드릴게요. 🔥[임베딩 영상][사진]많은 수강생 여러분이 사랑해 주신 덕분에 인사이트 출판사와 함

www.inflearn.com