先日、「【React Native】複数枚の画像をお洒落に表示できるライブラリ「react-native-thumbnail-grid」」という記事で「react-native-thumbnail-grid」ライブラリをご紹介しましたが、類似のライブラリを見つけていたのでこちらもご紹介。
GitHub のページはこちらから。
gusgard/react-native-grid-list: 🌁 Grid list component implemented with FlatList
https://github.com/gusgard/react-native-grid-list
ライブラリのインストールは下記のコマンドを実行します。
npm install react-native-grid-list --save
インストールが完了したら、下記のサンプルコードを参考に、実装したいプロジェクトにコードを追加してください。
import { Image } from 'react-native'; import GridList from 'react-native-grid-list'; const items = [ { thumbnail: { uri: 'https://lorempixel.com/200/200/animals' } }, { thumbnail: { uri: 'https://lorempixel.com/200/200/city' } }, { thumbnail: { uri: 'https://lorempixel.com/200/200/nature' } }, { thumbnail: { uri: 'https://lorempixel.com/200/200/cats' } }, ]; <GridList showSeparator data={items} numColumns={3} renderItem={({ item, index }) => ( <Image key={index} source={item.thumbnail} /> )} />
サンプルコードは以上です。
上記を実行したところ、問題なく画像が Grid 表示されましたが、こちらのライブラリは FlatList
を使っているため、ScrollView
を使用しているページとは相性が悪く…結局「react-native-thumbnail-grid」ライブラリの方を使うことにしました。
しかし、1行に表示する画像の数を指定できるし、画像間に区切りを入れるかどうかを指定できるし、かなりカスタマイズ性の高いライブラリだと思います。
ScrollView
を使っていないページであればこちらの導入を検討してもいいと思います!
以上、React Native で複数の画像を Grid 表示できるライブラリ「react-native-grid-list」のご紹介でした。
ご参考になれば幸いです。