Check


プログラミングが無料で学べるYouTubeチャンネルを配信中!

RubyやPython、PHPやReactなど様々なプログラミング言語のチュートリアル動画が充実!

チャンネル登録はこちら

React

【React】簡単なお問い合わせフォームの実装|ポートフォリオサイトの作り方

動画で解説を見る



開発環境

  • Visual Studio Code:version 1.73.0
  • OS:Windows10
  • Node.js:v18.14.0
  • npm:9.3.1
  • react:18.2.0
  • react-dom:18.2.0
  • react-router-dom:6.8.2
  • typescript:4.9.5
  • mui:5.11.10
  • mui/icons-material:5.11.11
  • chart.js:4.4.0
  • react-chartjs-2:5.2.0

Reactでお問い合わせフォームを実装する手順

Reactでお問い合わせフォームを実装する手順を解説します。

コンタクトフォームコンポーネントを作成する

まずはコンタクトフォームコンポーネントを作成します。

疑似的にメール送信中であることを表現するために16行目でsleep関数を定義し、32行目で5秒待機するようにしています。

ポイントは18行目の「handleEmailchange」でEmailの入力状況をStateで状態管理、22行目の「handleMessagechange」でメッセージの入力状況をStateで状態管理しています。

あとはSubmitが推された場合に「handleSubmit」が呼び出されてメールを送信する処理が実行されますが、submitイベントの発生元であるフォームが持つデフォルトの動作をキャンセルするために「event.preventDefault();」を忘れないようにしましょう。

また、12行目の「emailSent」はメールの送信結果、13行目の「isSending」はメールの送信中であるかを状態管理しています。

その結果によって54行目以降のお問い合わせフォームの表示を切り替えられるようにしています。

トップページコンポーネントを修正する

最後にトップページコンポーネントを修正します。

ContactFormコンポーネントをインポートし、お問い合わせコンテンツでContactFormコンポーネントを呼び出す形にしています。

おわりに

Reactでお問い合わせフォームを実装する手順を解説していきましたが、いかがだったでしょうか。

Webサイトのお問い合わせフォームはユーザーが運営側にコンタクトをとれる重要なコンテンツになりますので、入力内容のバリデーションやメール送信前に確認画面を表示させるなども検討するともっと良いかと思います。

是非、Reactでモダンでおしゃれなお問い合わせフォームを作っていきましょう。

Check


プログラミングが無料で学べるYouTubeチャンネルを配信中!

RubyやPython、PHPやReactなど様々なプログラミング言語のチュートリアル動画が充実!

チャンネル登録はこちら

-React