useState
useState 함수를 사용한 state 관리
함수형 컴포넌트에서는 state를 직접 생성하지 않고React.useState
함수를 사용하여 생성한다.
state 선언
생성 구문은 다음과 같다.
const [name, setName] = React.useState("피카츄");
위 구문은 다음 의미를 가진다.
name이라는 이름의 상태 변수를 만든다.
setName 함수를 통해 name의 변경을 처리한다.
name의 초기값은
"피카츄"
로 한다.
state 출력
state의 출력은 함수에서 반환되는 JSX 구문에서 한다. 클래스의 render 함수에서 하듯이 표현식 {}
을 사용하여 생성된 변수를 출력한다.
function MainComponent(){
const [name, setName] = React.useState("피카츄");
return (
<>
<h1>Name is {name}</h1>
</>
);
}
state 여러 개 선언
여러 개의 데이터를 state로 선언할 경우 React.useState
함수를 데이터마다 각각 사용한다.
function MainComponent(){
const [name, setName] = React.useState("피카츄");
const [type, setType] = React.useState("전기");
return (
<>
<h1>이름 : {name}</h1>
<h1>속성 : {type}</h1>
</>
);
}
state에 배열 선언
function MainComponent(){
const [numbers, setNumbers] = React.useState([10, 20, 30]);
const view = numbers.map(number=><li>{number}</li>);
return (
<>
<h1>숫자 목록</h1>
<ul>{view}</ul>
</>
);
}
state에 객체 선언
function MainComponent(){
const [monster, setMonster] = React.useState({
no : 1, name : "이상해씨", type:"풀"
});
return (
<>
<h1>번호 : {monster.no}</h1>
<h1>이름 : {monster.name}</h1>
<h1>유형 : {monster.type}</h1>
</>
);
}
Last updated