1. 폼 컴포넌트 생성
리액트에서 폼을 처리하는 방법으로 사용자 이름과 이메일을 입력받는 폼을 만들고 그 안에 상태 관리와 이벤트 처리를 통한 입력값을 처리하는 방법을 알아보겠습니다. src 안에 Form.js 파일을 생성해 아래 코드를 작성합니다.
import React, { useState } from 'react';
export const Form = () => {
// 상태 관리
const [formData, setFormData] = useState({
username: '',
email: '',
});
// 입력값 변경 핸들러
const handleChange = (e) => {
const { name, value } = e.target;
setFormData({
...formData,
[name]: value,
});
};
// 폼 제출 핸들러
const handleSubmit = (e) => {
e.preventDefault(); // 기본 제출 동작 방지
console.log('Submitted Data: ', formData);
};
return (
// 상태관리
<form onSubmit={handleSubmit}>
<div>
<label htmlFor="username">Username:</label>
<input
type="text"
id="username"
name="username"
value={formData.username}
onChange={handleChange}
required
/>
</div>
<div>
<label htmlFor="email">Email:</label>
<input
type="text"
id="email"
name="email"
value={formData.email}
onChange={handleChange}
required
/>
</div>
<button type="submit">Submit</button>
</form>
);
};
2.App 컴포넌트 수정
src/App.js 파일을 수정해 Form 컴포넌트를 포함합니다.
import { Form } from './5.Form';
import './App.css';
import React from 'react';
export const ReactApp = () => {
return (
<div>
<Form />
</div>
);
};
export default ReactApp;
3.스타일 수정
form {
display: flex;
flex-direction: column;
width: 100%;
max-width: 1200px;
margin: 0 auto;
height: 100vh;
align-items: center;
justify-content: center;
}
div {
margin-bottom: 20px;
}
input {
padding: 5px;
margin-left: 10px;
}
input {
outline: none;
}
서버를 실행하고 폼에 데이터를 입력후 Submit 버튼을 클릭 후 콘솔 창을 열면 입력된 데이터가 출력됩니다.
요약
- 리액트에서 폼을 처리하기 위해 상태 관리(useState)를 사용해 입력값 관리
- onChange 이벤트를 통해 입력값을 업데이트하고, onSubmit 이벤트로 폼 제출을 처리
GitHub - Koras02/react-bloging: https://thinky.tistory.com/category/Front-End/ReactJS
https://thinky.tistory.com/category/Front-End/ReactJS - Koras02/react-bloging
github.com
LIST
'Front-End > ReactJS' 카테고리의 다른 글
[ReactJS] 8장 Typescript (0) | 2025.02.27 |
---|---|
[ReactJS] 7장 상태관리 (0) | 2025.02.26 |
[ReactJS] 5장 리스트와 키 (0) | 2025.02.23 |
[React] 4강 조건부 렌더링 (0) | 2025.02.22 |
[React] 3장 이벤트 처리 (0) | 2025.02.22 |