[react] JSX에서 Forms 다루기

이 글에서는 React에서 JSX를 사용하여 Forms(양식)을 다루는 방법에 대해 알아보겠습니다.

Forms는 사용자로부터 정보를 입력받는 중요한 요소입니다. React에서 Forms를 다루기 위해 우리는 일반적으로 JSX를 사용하고, 컴포넌트 상태(state)이벤트 처리(event handling) 를 활용합니다.

Form 구성

폼을 구성하기 위해 input, select, textarea 등의 HTML 요소를 사용할 수 있습니다.

<form>
  <input type="text" name="username" />
  <button type="submit">Submit</button>
</form>

Controlled Components

React에서 form 요소에 값을 설정하는 가장 일반적인 방법은 제어 컴포넌트(Controlled Components) 를 사용하는 것입니다. 제어 컴포넌트를 사용하면 form 요소의 값이 React의 컴포넌트 상태에 의해 제어됩니다.

class MyForm extends React.Component {
  constructor(props) {
    super(props);
    this.state = { value: '' };
  }

  handleChange = (event) => {
    this.setState({ value: event.target.value });
  }

  handleSubmit = (event) => {
    alert('A name was submitted: ' + this.state.value);
    event.preventDefault();
  }

  render() {
    return (
      <form onSubmit={this.handleSubmit}>
        <label>
          Name:
          <input type="text" value={this.state.value} onChange={this.handleChange} />
        </label>
        <button type="submit">Submit</button>
      </form>
    );
  }
}

위의 예제에서 input 요소의 valueonChange props를 사용하여 제어 컴포넌트를 생성했습니다.

Form Validation

사용자가 잘못된 데이터를 입력하는 것을 방지하기 위해, 폼 유효성 검증은 매우 중요합니다. React에서는 Formik, Yup, 또는 기타 라이브러리를 사용하여 세련된 폼 유효성 검증을 구현할 수 있습니다.

결론

React에서 Forms를 다루는 것은 사용자와 상호작용하고 데이터를 수집하는데 중요한 부분입니다. JSX와 React의 상태 관리 및 이벤트 처리를 통해, 우리는 다양한 종류의 Forms를 쉽게 다룰 수 있습니다.

이상으로, React에서 JSX를 사용하여 Forms를 다루는 방법에 대해 알아보았습니다. Forms를 다루는 데 유용한 정보가 되었기를 바랍니다!

참고문헌