2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ReactにおけるAPI通信

Posted at

はじめに

前回の記事で外部APIを通信するJavaScriptのfetch関数の使い方について書きました。
本記事ではReactでAPI通信を使いこなせるようになる方法を、初心者でも理解できるように解説します。

ReactにおけるAPI通信

Webアプリケーションは、ユーザーが必要とする最新情報を提供するために、サーバーからデータを取得する必要があります。

Reactは、このデータをすばやくフロントエンドに反映させるJavaScriptのライブラリです。

API(Application Programming Interface)を通じて、Reactはサーバーからデータを取得し、画面をリアルタイムで更新します。

ReactとAPIの連携により、ユーザーは常に最新の情報を見ることができるのです。

Reactで外部APIからデータを取得して表示する方法

ここでは、公開APIから実際のデータを取得し、それを表示する方法を学びます。

使用するAPIのJSONデータ例

以下のJSONデータは、公開API「JSONPlaceholder」からのタスク情報のサンプルです。これは、実際に試すことができる無料のテストAPIです。

*JSONPlaceholderを試してみた方はこちら
https://jsonplaceholder.typicode.com/

{
 "userId": 1,
 "id": 1,
 "title": "Sample Task",
 "completed": false
}

このデータは、特定のタスクに関する情報を表しています。ここでは、タスクのID、ユーザーID、タイトル、および完了状態が含まれています。

Reactコンポーネントでのデータ取得

以下は、ReactでAPIからデータを取得し、表示する基本的な例です。

import React, { useState, useEffect } from 'react';

function App() {
  const [task, setTask] = useState(null);

  useEffect(() => {
    //fetch('APIのエンドポイントを記述')
    fetch('https://jsonplaceholder.typicode.com/todos/1')
      .then(response => response.json())
      .then(data => setTask(data))
      .catch(error => console.error("Fetching data failed", error));
  }, []);// 空の依存配列を渡すことで、コンポーネントのマウント時に一度だけ実行される

  if (!task) return <div>Loading...</div>;

  return (
    <div>
      <h1>Task Information</h1>
      <p>Title: {task.title}</p>
      <p>Completed: {task.completed ? 'Yes' : 'No'}</p>
    </div>
  );
}

}

この例では、useEffectフックを使用してコンポーネントのマウント時にAPIからデータを取得(fetch)しています。取得したデータは、useStateフックによってコンポーネントの状態として保持され、UIがそれに応じて更新されます。

まとめ

Reactを使用して外部APIからデータを取得し表示する方法は、API通信の基本から始め、Webアプリケーションを構築するための重要なスキルです。この記事で紹介した手法を活用し、実際に様々なAPIとの連携を試してみてください

2
1
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
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?