Giphy API を使用して、GIF画像検索する React App の作成

Giphy API の Key を取得する

https://developers.giphy.com/

  • アカウントを作成する

  • API Key を取得する

Giphy API をたたく

問い合わせ先の URL

const search = "cat";
const key = "V6AU97qCSCYVmbIC5UDppEiVM1xnuO9E";
const limit = 3;

const url = `https://api.giphy.com/v1/gifs/search?q=${search}&api_key=${key}&limit=${limit}`;

axios でリクエストをし、得た情報を DOM に反映させる

https://codesandbox.io/s/ylyn217wv

import axios from "axios";

const search = "cat";
const key = "V6AU97qCSCYVmbIC5UDppEiVM1xnuO9E";
const limit = 3;

const url = `https://api.giphy.com/v1/gifs/search?q=${search}&api_key=${key}&limit=${limit}`;

axios.get(url).then(res => {
  console.log(res.data);
  const data = res.data.data;

  // 全てのデータの中から、仮に最初の要素の、gif 用 URL を取り出す
  // この URL が画像を取得する際に必要となるもの
  const imageUrl = data[0].images.downsized.url;
  console.log(imageUrl);

  // img 要素を生成して、body 直下に強引に入れ込む
  const img = document.createElement("img");
  img.src = imageUrl;
  document.body.appendChild(img);
});

React App に組み込む

https://codesandbox.io/s/x3o73pzz4q

img 要素をレンダリング

https://codesandbox.io/s/7mpkvy49w1

検索窓を作る

https://codesandbox.io/s/n0ppvpzqm4

todoApp で作ったコンポーネントを活用して Search コンポーネントを作る

components/Search.js

Search Component を配置する

Search コンポーネントにメソッドを渡す

App.js

Search コンポーネントの中で受け取ったメソッドを実行する

Search.js

検索対象を引数として受け取って使用する

index.js

CSS でスタイリング

https://codesandbox.io/s/8vxy99n28

index.js

App.css

クラスネームを付与する

index.js

Last updated