
State
컴포넌트 내부에서 읽고 업데이트 할 수 있는 값
- 하위 컴포넌트에 상속 가능
- state값이 변경되면 리렌더링 발생
useState
리액트의 내장 Hooks, 컴포넌트 내부에서 상태를 정의하고 이를 관리할 수 있게 해줌
const [state,setState]=useState("초기값");

const [modal,setModal]=useState(false);
모달 컴포넌트를 관리하는 state 값 선언
{modal ? <Modal setModal={setModal} /> : null}
삼항연산자 ➡️ modal state값이 참이면 모달 컴포넌트를 보여주고 거짓이면 아무것도 보여주지 않음
const Modal = (props) => {
const { setModal } = props;
const style = {
width: 200,
height: 200,
display: "flex",
backgroundColor: "skyblue",
marginTop: 30,
justifyContent: "center",
alignItems: "center",
};
const closeModal = () => {
setModal(false);
};
return (
<>
<div style={style}>
<button onClick={closeModal}>모달 닫기</button>
</div>
</>
);
};
export default Modal;
const [message, setMessage] = useState("");
const [username, setUsername] = useState("");
<input
type="text"
name="message"
value={message}
placeholder="입력해 보세요."
onChange={handlerChange}
/>
<input
type="text"
name="username"
value={username}
placeholder="입력해 보세요."
onChange={handlerChange}
/>

e.target.name 이 message 인지username 인지에 따라 다르게 처리

const { message, username } = form; 객체 비구조화
