React, SignUp, 폼 만들기
2024. 12. 4. 10:22ㆍ웹 개발
SignUp.jsx
import React, { useState } from "react";
function SignUp(props) {
const [name, setName] = useState(""); // 초기값은 빈 문자열
const [gender, setGender] = useState("남자"); // 초기값은 "남자"
const handleChangeName = (event) => {
setName(event.target.value); // 입력된 값을 name 상태로 업데이트
};
const handleChangeGender = (event) => {
setGender(event.target.value); // 선택된 값을 gender 상태로 업데이트
};
const handleSubmit = (event) => {
alert(`이름: ${name}, 성별: ${gender}`); // 알림창으로 상태를 보여줌
event.preventDefault(); // 폼 제출로 인한 페이지 새로고침 방지
};
return (
<form onSubmit={handleSubmit}>
<label>
이름:
<input
type="text"
value={name} // name 상태와 연결
onChange={handleChangeName} // 값이 변경되면 handleChangeName 호출
/>
</label>
<br />
<label>
성별:
<select
value={gender} // gender 상태와 연결
onChange={handleChangeGender} // 값이 변경되면 handleChangeGender 호출
>
<option value="남자">남자</option>
<option value="여자">여자</option>
</select>
</label>
<br />
<button type="submit">제출</button>
</form>
);
}
export default SignUp;
index.js
import React from "react";
import ReactDOM from "react-dom/client";
import "./index.css";
import App from "./App";
import reportWebVitals from "./reportWebVitals";
import SignUp from "./chapter_11/SignUp.jsx";
const root = ReactDOM.createRoot(document.getElementById("root"));
root.render(
<React.StrictMode>
<SignUp />
</React.StrictMode>
);
reportWebVitals();
// https://github.com/soaple/first-met-react-practice-v18/tree/master/src
결과
출처
https://www.inflearn.com/course/처음-만난-리액트
https://github.com/soaple/first-met-react-practice-v18/tree/master/src
'웹 개발' 카테고리의 다른 글
React, useContext (0) | 2024.12.05 |
---|---|
React, 섭씨온도와 화씨온도 표시하기, Shared State (1) | 2024.12.04 |
React, 출석부 출력하기, List 와 Key (0) | 2024.12.03 |
React, 로그인 여부를 나타내는 툴바 만들기, 조건부 렌더링 (0) | 2024.12.03 |
React, 클릭 이벤트 처리하기 (0) | 2024.12.03 |