본문으로 바로가기

[REACT] State로 상태관리 하기

category 나의 주니어 개발 일기/REACT 2025. 6. 26. 14:36
728x90
반응형
SMALL

State로 상태관리 하기

import './App.css'
import { useState } from "react"; //상태관리를 위해서 선언해줘야 한다.

function App() {
  const [state, setState] = useState(0); //구조 분해 할당방법, 일반적인 방법
  console.log(state);

  return<></>;
}

export default App;

const [state, setState] 에서 state 는 값, setState는 state 값을 변경시키는 함수가 자리할 위치이다.

State 변경해보기

1.버튼 만들어서 State 값 증가시켜보기

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

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

  return (    
     <>
    <h1>{state}</h1>
    <button onClick={() =>{
      setState(state+1)
      }}
    >
      +
    </button>
    </>
    );
  }


export default App;

해당 방식은 리렌더링 방식이라고 부른다.


2.버튼 만들어서 State 값 증가시켜보기

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

function App() {
  const [count, setState] = useState(0);
  const [light, setLight] = useState("OFF");

  return (    
     <>
    <div>
      <h1>{light}</h1>
        <button onClick={() =>{
        setLight(light === "OFF"?"ON":"OFF")
        }}
      >{light === "OFF"?"켜기":"끄기"}</button>
    </div>

    <div>
      <h1>{count}</h1>
      <button onClick={() =>{
        setState(count+1)
        }}
      >
        +
      </button>
    </div>
    </>

    );
  }


export default App;

궁금증1

굳이 useState를 사용해야지만 화면에 랜더링이 될까? ex() const [count, setState] = useState(0);

let light = "OFF"; light === "OFF"?"켜기":"끄기" 이렇게 선언하고 사용한다면??

답은 NO!

React 컴포넌트에서 가변값들을 화면에 렌더링 해주고 싶다면 무조건 useState 를 사용해야지만 된다.

728x90
반응형
LIST

'나의 주니어 개발 일기 > REACT' 카테고리의 다른 글

[REACT] State로 사용자 입력 관리하기  (0) 2025.06.26
[REACT] State를 Props로 전달하기  (0) 2025.06.26
[REACT] Props 사용법  (0) 2025.04.25
[REACT] CSS 적용법  (1) 2025.04.25
[REACT] Main 사용법  (0) 2025.04.25