React.jsでフォームを作成する方法:ステップバイステップガイド

フォーム処理の基本概念

フォーム処理では、ユーザーが入力したデータをサーバーに送信するためにイベントを処理し、必要に応じて入力内容をバリデーションすることが必要です。

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

      this.handleChange = this.handleChange.bind(this);
      this.handleSubmit = this.handleSubmit.bind(this);
    }

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

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

    render() {
      return (
        
); } }

フォームイベントとバインディング

フォームでのユーザー入力を処理するためには、入力フィールドの値を追跡し、適切なイベントをバインドする必要があります。

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

      this.handleChange = this.handleChange.bind(this);
      this.handleSubmit = this.handleSubmit.bind(this);
    }

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

    handleSubmit(event) {
      alert('Email submitted: ' + this.state.email);
      event.preventDefault();
    }

    render() {
      return (
        
); } }

React.jsでのフォームバリデーション

フォームにバリデーションを追加して、入力データが適切かどうかをチェックしましょう。以下は、メールアドレスの形式をバリデーションする例です。

  
  class ValidationForm extends React.Component {
    constructor(props) {
      super(props);
      this.state = { email: '', error: null };

      this.handleChange = this.handleChange.bind(this);
      this.handleSubmit = this.handleSubmit.bind(this);
    }

    handleChange(event) {
      const email = event.target.value;
      let error = null;

      if (!email.match(/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$/)) {
        error = 'Invalid email address';
      }

      this.setState({ email, error });
    }

    handleSubmit(event) {
      event.preventDefault();
      if (!this.state.error) {
        alert('Form submitted');
      }
    }

    render() {
      return (
        
{this.state.error &&

{this.state.error}

}
); } }

React.jsでフォームを作成する方法:ステップバイステップガイドのまとめ

この記事では、React.jsでフォームを作成する方法を学びました。フォームの基本的な作成から、入力データの処理、バリデーションの追加までを解説しました。React.jsを使って効率的にフォームを実装し、ユーザーの入力を適切に管理しましょう。

タイトルとURLをコピーしました