버튼 누르면 바뀌는 값, State가 뭐예요?
2025. 6. 19. 10:32ㆍReact

지난 시간엔 컴포넌트에 값을 전달하는 Props에 대해 배웠어요.
근데 이런 상황, 꼭 있죠?
"버튼을 클릭했을 때 숫자가 올라가야 해요!"
"입력창에 글자를 쓰면 화면에도 바로 보여야 해요!"
이렇게 값이 바뀌는 상황에서 필요한 개념이 바로 State입니다!
오늘은
✅ State가 뭐고
✅ 왜 필요한지
✅ 어떻게 쓰는지
정말 쉽게 설명해드릴게요 😊
1️⃣ State는 ‘변하는 값’을 저장하는 공간이에요
React는 원래 한 번 화면이 그려지면, 값이 바뀌어도 화면은 그대로예요.
근데 화면도 같이 바뀌게 하려면?
👉 State에 값을 저장해야 해요.
State는 컴포넌트 안에서 관리되는
**“변하는 데이터”**입니다.
2️⃣ 예제 – 버튼 누르면 숫자가 올라가요
우선 아래 예제부터 볼게요:
jsx
복사편집
import { useState } from "react"; function Counter() { const [count, setCount] = useState(0); return ( <div> <p>현재 숫자: {count}</p> <button onClick={() => setCount(count + 1)}>+1</button> </div> ); }
🔍 무슨 뜻이냐면?
- useState(0)
👉 count라는 값을 0으로 시작하겠다! - setCount
👉 count 값을 바꾸는 함수 - 버튼 클릭 시 setCount(count + 1)
👉 count 값이 1씩 증가 + 화면 자동 업데이트!
3️⃣ useState 문법 간단 정리
jsx
복사편집
const [state이름, set함수이름] = useState(초기값);
예시:
jsx
복사편집
const [name, setName] = useState("리아");
- name: 현재 값
- setName: 값을 바꾸는 함수
- "리아": 초기값
4️⃣ 왜 State를 써야 할까?
❌ 일반 변수는 화면을 바꾸지 못해요
jsx
복사편집
let count = 0; count = count + 1; // 값을 바꿔도 화면은 그대로!
React는 State가 바뀔 때만 화면을 다시 그려줍니다!
그래서
❗ 화면과 함께 변화시킬 값은 반드시 State로 관리해야 해요!
5️⃣ 여러 개의 State도 쓸 수 있어요
jsx
복사편집
function Profile() { const [name, setName] = useState("리아"); const [age, setAge] = useState(25); return ( <div> <p>이름: {name}</p> <p>나이: {age}</p> <button onClick={() => setAge(age + 1)}>나이 +1</button> </div> ); }
✔️ 필요한 만큼 useState()를 여러 번 써도 됩니다.
✏️ 한 줄 정리
State는 React에서 값이 바뀔 때마다 화면도 바뀌게 해주는 핵심 기능이에요.
화면과 함께 변해야 하는 값이라면, 꼭 State로 관리하세요!
'React' 카테고리의 다른 글
| React입문 -> 고수로 가는 필수 개념 (0) | 2025.06.19 |
|---|---|
| 이벤트 처리하기" – 클릭, 입력 등 사용자 행동에 반응하는 법 (0) | 2025.06.19 |
| 컴포넌트끼리 데이터 주고받는 방법, Props가 뭐예요? (1) | 2025.06.19 |
| React는 컴포넌트 기반,,,그래서 컴포넌트가 뭔데? (0) | 2025.06.19 |
| JSX는 HTML이랑 뭐가 다를까?도대체 JSX가 뭔데!! (0) | 2025.06.19 |