FlatListを使ってリスト表示をする方法【ReactNative】
本記事の内容
  • FlatListについて分からない人
  • リスト表示の仕方がわからい人

という疑問、悩みがある方向けの記事となっています。

1. 概要

今回は、リスト表示をしたい時の方法としての、”FlatListコンポーネント”について紹介していきます。プラスαとして”ListItemコンポーネント”についても紹介します。

2. FlatList

2.1 FlatListとは

ある情報(配列データ)を整列して表示(レンダリング)させることができるコンポーネントです。
公式ドキュメント: FlatList

2.2 FlatList使い方

FlatListを使うと以下のようにリスト表示させることができます。

結果
サンプルコード

ソースコードについて解説

今回は、以下のように配列Arrayに3つの情報を設定して、リスト表示させていきます。

インポート
まず、FlatListは、react-nativeライブラリからインポートします。

初期値設定
次に、下記のConstructor(props)で、初期値設定を行います。
this.state.dataの初期値にArray変数を設定します。

FlatListに値を設定
FlatListでは、リスト表示させたい値をdataプロパティに設定し、renderItemプロパティでdataに設定した配列の値をリスト表示します。


(ここで出てくるrenderItem={({ item }) =>の「item」とは、 dataに設定した値を示します。)

後は、renderItem内に、「item.title」「item.subTitle」をViewとTextコンポーネントを使って以下のようにコードをかけば、リスト表示できます。

3. ListItem

ぜひ、FlatListと一緒に使ってもらいたいコンポーネントを紹介します。

3.1 ListItemとは

下記の公式ドキュメントにより、
「ListItemsは、連絡先リスト、プレイリスト、メニューなどの情報の行を表示するために使用されます。これらは非常にカスタマイズ可能で、スイッチ、アバター、バッジ、アイコンなどを含めることができます。」と書かれています。

つまり、ListItemを使うことで、リスト表示した項目をカスタマイズできるということです。

公式ドキュメント: ListItem

3.2 ReactNativeElementsのインストール

ListItemは、ReactNative-Elementsライブラリのコンポーネントであるので、ReactNative-Elementsライブラリを使う為に、下記のコマンドを実行してインストールします。

3.3 ListItem使い方

以下のようにリスト表示することができます。

結果
サンプルコード

プロパティ

ListItemのプロパティ
title メインタイトル
titleStyle メインタイトルのスタイル
subtitle サブタイトル
subtitleStyle サブタイトルのスタイル
chevron リストの右に表示されている”>”(アイコン)
linearGradientProps リストのグラデーションを設定することができる。
詳しくは、以下の表に記載します。
linearGradientPropsの設定値
colors 少なくとも2つの色が必要です(それ以外の場合は、指定色の塗りつぶしになります)。
start [x,軸 y軸]のグラデーションの開始位置を表します。たとえば[0.3, 1]の場合、
グラデーションは左から30%、上から100%から始まります。
end グラデーションの終了位置を表す。startと同処理。

など数多くのカスタマイズが可能です。 他にもチェックボックスやアイコン表示、各リスト項目にイベント設定などのカスタマイズが可能です。

4. まとめ

FlatListコンポーネントについて紹介しました。FLatListを使うとリスト表示する系のアプリを作れることができるので、ぜひ使ってみてください。