State
컴포넌트의 상태
컴포넌트 내에서 변할 수 있는 값
상태에 따라 컴포넌트가 바뀌어야 할 때 State
를 활용한다
<예> 체크가 된 상태, 안 된 상태를 비교
State
사용법useState
: React에서 State
를 다루는 방법 중 하나
useState
를 불러온다import { useState } from "react";
useState
를 사용할 컴포넌트 안에서 호출한다function CheckboxExample() {
const [isChecked, setIsChecked] = useState(false);
isChecked
, setIsChecked
(임의로 지은 이름)useState
의 리턴값을 구조 분해 할당한 변수useState(false)
: isChecked
초기값을 false
로 주겠다isChecked
: State
를 저장하는 변수setIsChecked
: State
를 갱신하는 함수, isChecked
를 바꾼다State
변수에 저장된 값을 사용하려면<span>{isChecked ? "Checked!!" : "Unchecked"}</span>
isChecked
가 boolean
, 삼항연산자를 활용State
를 갱신하려면 같이 선언했던 함수를 활용 state.push(1); state[1] = 2;
등으로는 변경되지 않는다function CheckboxExample() {
const [isChecked, setIsChecked] = useState(false);
const handleChecked = (event) => {
setIsChecked(event.target.checked);
};
return (
<div className="App">
<input type="checkbox" checked={isChecked} onChange={handleChecked} />
<span>{isChecked ? "Checked!!" : "Unchecked"}</span>
</div>
);
}
onChange
발생onChange
이벤트가 이벤트 핸들러 함수인 handleChecked
호출handleChecked
가 setIsChecked
를 호출event.target.checked
에 따라 isChecked
가 갱신isChecked
는 CheckboxExample
컴포넌트에 넘겨져서State
는 여러 개를 가질 수 있다
= 맨 위 예시 그림