[javascript] 리액트에서 폼 처리 방법
폼 처리 기본
리액트에서 양식을 처리하는 데 가장 기본적인 방법은 useState
훅을 사용하여 상태를 관리하고 onChange
이벤트 핸들러를 사용하여 입력 값을 업데이트하는 것입니다.
예를 들어, 다음과 같이 상태를 선언하고 이벤트를 처리할 수 있습니다.
import React, { useState } from 'react';
function MyForm() {
const [formData, setFormData] = useState({
username: '',
password: ''
});
const handleInputChange = (e) => {
const { name, value } = e.target;
setFormData(prevState => ({
...prevState,
[name]: value
}));
}
const handleSubmit = (e) => {
e.preventDefault();
// 폼 데이터 처리 로직
}
return (
<form onSubmit={handleSubmit}>
<input type="text" name="username" value={formData.username} onChange={handleInputChange} />
<input type="password" name="password" value={formData.password} onChange={handleInputChange} />
<button type="submit">제출</button>
</form>
);
}
export default MyForm;
제어되는 컴포넌트와 비제어되는 컴포넌트
리액트에서 양식 요소의 값은 제어되는 컴포넌트로 만들 수 있습니다. 이는 상태나 프로퍼티에 의해 제어되는 입력 요소를 의미합니다. 반면 비제어되는 컴포넌트는 ref를 사용하여 DOM에서 값에 접근하는 방식입니다.
폼 라이브러리 사용
리액트 애플리케이션에서 복잡한 폼 처리를 위해 formik, react-hook-form과 같은 라이브러리를 사용할 수 있습니다. 이러한 라이브러리를 사용하면 유효성 검사, 초기값 설정, 제출 처리 등을 더 쉽게 구현할 수 있습니다.
양식 처리는 웹 개발에서 중요한 부분이므로 신중하게 고려해야 합니다. 리액트에서 양식을 처리하는 방법을 습득하는 것은 뛰어난 사용자 경험을 제공할 수 있는 필수 기술입니다.