LoginSignup
0
0

ReactでサーバーへのHTTPリクエスト

Posted at

はじめに

Reactを使用してサーバーへHTTPリクエストを送る方法に関する備忘録です💁
初心者です😅
間違えてる部分多々あると思います。
もし見つけた場合、ツッコミいただけると助かります🙇

内容

LPを作成している際のお問い合わせフォームを作成しています。
お問い合わせフォームのシステムを構築しています。このシステムでは、ユーザーからの「お問い合わせ内容」を受け取り、それを自分宛てのメールとして送信します。

Reactはフロントエンド開発のためのJavaScriptライブラリのためサーバー側の機能を提供しておりません。

よって「Node.js」「Python」などを用いて作成するサーバーを構築する。

私は今回、Pythonにてサーバー構築を作成したが、そのサーバーに対してのアクションを学んだのでまとめました。

Contact.js
const emailSend = () => {
    console.log('ただいま、メールを送信してます', user);

    fetch('http://localhost:5000/send-email', {
        method: 'POST',
        // HTTP リクエストのメソッド
        headers: {
            'Content-Type': 'application/json',
        },
        // サーバーへ送るファイルはJSONファイルであることを宣言
        body: JSON.stringify(user)
        // 送るデータをJSON形式に変換する
    })
    .then(response => response.json())
    .then(data => {
        // .thenは成功した時の処理を示す場合に使う。
        console.log('Success:', data);
    })
    .catch((error) => {
        // .catchは失敗の時の処理を示す場合に使う。
        console.error('Error:', error);
    });
}
Contact.js
    fetch('http://localhost:5000/send-email', {

「fetch」の押さえておくべき点🧠

  • fetchは JavaScript におけるメソッドの一つ。ネットワークリクエストを送信し、リソース(通常はサーバーからのデータ)の取得を行うために使用。サーバーとのデータのやり取りに使用する。
  • fetchは非同期操作を行うため、サーバーからの応答を待っている間にも、他のコードの実行も可能。
  • fetch は Promise オブジェクトを返すことができるため非同期操作の成功時とエラー時の処理を .then() や .catch() などのメソッドでチェーンできる。
  • fetch はHTTPリクエストを行うために使用され、様々なHTTPメソッド(GET、POST、PUT、DELETEなど)をサポートしている。

「('http://localhost:5000/send-email', 」のコードで押さえておくべき点🧠

  • http://localhost:5000 このアドレスは開発してるサーバーに対して利用する。
  • localhost : とは自身のコンピュータを指す特別なホスト名。
  • :5000 : 今回、Flaskを利用してる開発。その場合に一般的には5000番ポートを使用する。
  • /send-email : エンドポイント。サーバー上の特定のパスや機能にアクセスするために使われる。
  • 開発が完了し外部サーバー(AWS、GCPなど)にデプロイした後はこのURLは変更する。
  • デプロイした後のURLに”/send-email”を入れることで/send-emailに関連付けられた処理が実行される。
Contact.js
        method: 'POST',
        headers: {
            'Content-Type': 'application/json',
        },
        body: JSON.stringify(user)
    })

押さえておくべき点🧠

  • method: 'POST', HTTP リクエストのメソッド。POSTは送信することを表してる。
  • headers: {'Content-Type': 'application/json',},サーバーへ送るファイルはJSONファイルであることを宣言。
  • body: JSON.stringify(user)送るデータをJSON形式に変換。
Contact.js
.then(response => response.json())
.then(data => {
 // .thenは成功した時の処理を示す場合に使う。
console.log('Success:', data);
})
.catch((error) => {
 // .catchは失敗の時の処理を示す場合に使う。
console.error('Error:', error);
});

押さえておくべき点🧠

  • .thenは成功した時の処理を示す場合に使う。
  • response => response.json()はレスポンスできたJSONファイルをJavaScriptオブジェクトに変換する。
  • dataはresponseによるデータ(サーバーからレスポンス)によるものを指す。
  • .catchは失敗の時の処理を示す場合に使う。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0