これは エキサイトホールディングス Advent Calendar 2021 23日目の記事です。
はじめに
iXIT株式会社の小長谷です。
2021年11月にポケットモンスターのシリーズ最新作が発売されましたね!
なのでポケモン図鑑を作ってみたいなと思い、TypeScriptでポケモン図鑑を作ってみました。
今回はその際に利用したAPI、UIライブラリの紹介をしたいと思います。
完成サイト
見た目は以下のようになっています。
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F2297796%2F48cfdf77-d6cf-8918-3505-094ad3f7c5db.gif?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=33b38c00ca85a3c69eca891069fc636f)
以下のサイトでぜひご覧ください!
https://pokedex-ts-flame.vercel.app/
ソースコードは以下になります。
https://github.com/kngy0306/pokedex-ts
使用言語など
- TypeScript
- React
- Chakra UI
ポケモンAPIについて
ポケモンのデータはすべてPokeAPIから取得しています。
PokeAPIからはポケモンの名前、図鑑番号など様々なデータを取得することが可能です。
今回作成したものは、シンオウ地方という地域に生息するポケモンのみを表示しているので、図鑑番号を387番から493番に絞ってデータを取得しています。
Chakra UIについて
Chakra UIは、ReactのUIコンポーネントライブラリで、様々なコンポーネントが用意されています。その中で今回の開発に使用したコンポーネントを紹介します!
SimpleGrid
ポケモンの表示は、画面サイズによって列数を変えるようにしました。SimpleGridというコンポーネントを利用して簡単に作成することができました。
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F2297796%2Fa198c56b-5f81-9a24-81ca-d5bcd7877b01.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=f842697c4bc14172136ac2b112c79c09)
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F2297796%2F740c0cd3-06b1-e349-975e-2eabc708bbb1.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=d053efe437ea312c08d03efc747fac1e)
Modal Dialog
このサイトではポケモンをクリックすると、モーダルでポケモンの詳細を表示するようにしています。ドキュメントのサンプルを参考にアレンジしました。こちらはModal Dialogというコンポーネントを使用しました。
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F533114%2F85600444-7178-5977-f57c-0fc2d51a5e93.jpeg?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=3426711c672c8c9f56df14e14456e040)
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F533114%2Feb6cc379-10c1-1f5a-f5a5-47666b793638.jpeg?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=ab7d9aa972f5b328b6a07142b111237a)
最後に
ポケモン図鑑をChakra UIフル活用で作成してみました。
ドキュメントには実際の挙動と、そのコードがすぐ下に記載されているのでとても便利です。ほとんどCSSを書くことなく見た目を作ることができるので、とてもおすすめです!
アドベントカレンダーはまだまだ続きます!お楽しみに!