state는 컴포넌트 사용중 컴포넌트 내부에서 변할 수 있는 값을 말한다.
props는 외부로 부터 전달받은 값, state는 내부에서 변화하는 값을 말한다.
function Paranet() {
<Child attribute={value}><Child>
}
function Child(props){
<h1>{props.attribute}</h1>
}
useState는 아래와 같은 형식이라고 할 수 있다.
const [state 저장 변수, state 갱신 함수] = useState(상태 초기값);
useState를 호출하면 배열을 반환하는데, 배열의 0번째 요소는 현재 state변수이고, 1번째 요소는 이 변수를 갱신할 수 있는 함수이다. useState인자는 state 초기값이라고 할 수 있다.
import React, { useState } from "react";
import "./styles.css";
function CheckboxExample() {
console.log("rerendered?");
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>
);
}
export default CheckboxExample;
위의 예시에서 useState의 매커니즘에 대해 설명하자면,