
2021년 7월 12일에 작성된 문서 2번 입니다.
React 배운 내용을 정리했습니다.
<input> <textarea> <select> 와 같은 폼(Form) 엘리먼트는 사용자의 입력값을 제어하는데 사용. function NameForm() {
const [name, setName] = useState("");
const handleChange = (e) => {
setName(e.target.value);
}
// onChange 이벤트가 발생하면 e.target.value를 통해
// 이벤트 객체에 담겨있는 input 값을 읽어올 수 있다.
return (
<div>
<input type="text" value={name} onChange={handleChange}>
// onChange는 input의 텍스트가 바뀔 때 마다 발생하는 이벤트.
// 이벤트가 발생하면 handleChange 함수가 작동
// 이벤트 객체에 담긴 input 값을 setState를 통해 새로운 state로 갱신
</input>
// 컴포넌트 return문 안의 input 태그에 value와 onChange를 넣었다.
<h1>{name}</h1>
</div>
)
};
onClick 이벤트는 말 그대로 사용자가 클릭했을 때 발생하는 이벤트. <a> 를 통한 링크 이동 등과 같이 주로 사용자의 행동에 따라 애플리케이션이 반응해야 할 때 자주 사용하는 이벤트다. // 위의 onChange 예시에 버튼을 추가
// 버튼 클릭 시 input tag 에 입력한 이름이 alert을 통해 알림창이 팝업
function NameForm() {
const [name, setName] = useState("");
const handleChange = (e) => {
setName(e.target.value);
}
return (
<div>
<input type="text" value={name} onChange={handleChange}>
</input>
<button onClick={alert(name)}>Button</button>
<h1>{name}</h1>
</div>
);
};
<select> & Pop upselect tag 는 사용자가 drop down 목록을 열어 그 중 한가지 옵션을 선택하면, 선택된 옵션이 state 변수에 갱신.Pop up 역시 Pop up 의 open 과 close 를 state 를 통해 관리할 수 있다.Written with StackEdit.