0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【React】API利用の練習のためにジブリのJSONデータを取得

Last updated at Posted at 2022-10-02

Reactプロジェクトの作成

今回はCreate React Appではなく、 Vite を利用して新規プロジェクトを作成したいと思います。

基本的にはこちらのVite公式ページを参考にしています。

1. 初めにnpm create vite@latestをターミナルで実行します。

2. プロジェクトネームを聞かれるので適当に入力します。今回は react_ghibli という名前にしました。

3. どのJSフレームワークを利用するか聞かれるので、 React を選択します。

4. 次にJSかTSのどちらを利用するか聞かれますが、今回は JS を選択します。

5. ターミナルに
cd 作成したプロジェクトの名前
npm install
npm run dev
を実行しろと表示されるのでコピペして実行します。

6. 少し待つとUrlが表示されるので、そのUrlを開き、このように表示されると新規プロジェクト作成は成功です。
Vite + React

APIの利用

初めに、API利用に必要な axios をインストールします。ターミナルで npm install axios を実行します。

続いてVSCodeなどのエディターを使い作成されたファイルを開き、 react_ghibli/src/App.jsx を開きます。

そこで、App.jsxに import axios from "axios"; を 追加し、中身をこのように書き変えます。

App.jsx
import React, { useState, useEffect } from "react";
import axios from "axios";

const API = () => {
  const [Ghibli, setGhibli] = useState([]);

  useEffect(() => {
    async function getGhibli() {
      let API_Ghibli = await axios.get(`https://ghibliapi.herokuapp.com/films`);
      console.log(API_Ghibli);

      setGhibli(API_Ghibli.data);
    }

    getGhibli();
  }, []);

  return (
    <div className="p-6 max-w-sm mx-auto bg-white rounded-xl shadow-lg flex items-center space-x-4">
      <ul>
        {Ghibli.map((post) => (
          <>
            <li className="font-bold"> {post.original_title} </li>
            <li className="font-bold"> {post.director} </li>
            <li>
              <img src={post.image} alt="" className="pb-10" />
            </li>
          </>
        ))}
      </ul>
    </div>
  );
};

export default API;

className="font-bold などの表記はtailwindというCSSフレームワークを利用したものです。

ここでは axios.get()を使い、ジブリ作品のJSONデータが集められている 
https://ghibliapi.herokuapp.com/films 
にアクセスをし、そのデータを API_Ghibli という変数に入れています。
後はこのデータを利用することで、作品名や作者名、画像などを利用することが可能となります。

このように、外部JSONデータを簡単に取得することが出来ました。

追記(tailwindの使用方法について)

index.html 内の <head> に 

<linkhref="https://unpkg.com/tailwindcss@^2/dist/tailwind.min.css" rel="stylesheet">

を追加する。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?