【ReactNative】react-native-draggable-flatlistを使ってドラッグ&ドロップ可能なリストを実装してみた
本記事の内容
  • ドラッグ&ドロップ可能なリストを実装したい人

と言う方向けの記事になっています。
記事を読むことで下の動画のようなに実装することができます。

1. 概要

今回は、react-native-draggable-flatlistライブラリについて紹介していきます。

react-native-draggable-flatlistライブラリ

react-native-draggable-flatlistライブラリは、FlatListコンポーネントのようにリスト表示でき、さらにドラッグ&ドロップすることができるリスト表示型のドラッグ&ドロップライブラリです。

下記にgithubのリンクを貼っておきます。
react-native-draggable-flatlist

2. インストール方法

react-native-draggable-flatlistライブラリを使う為に、以下のコマンドを実行しインストールします。


さらに、追加で以下もインストールします。(ドラッグ&ドロップを実装する為に必要)

3. 使い方

3.1 import

‘react-native-draggable-flatlist’ライブラリから「DraggableFlatList」コンポーネントをインポートします。

4. 実装

サンプルコード

4.1 プロパティ

本ライブラリを使う時に設定するプロパティを一部紹介します。

<DraggableFlatList>のプロパティ
data レンダリング(リスト表示)されるアイテムを設定
horizontal リストの向き。デフォルトでは、縦にリストを表示。falseにすることでリストを横向きに表示
keyExtractor 各アイテムの一意のキー
onDragEnd アニメーションが完了した後に呼び出されます。アニメーション完了後のdataの並び順を更新する
renderItem dataからアイテムを取得し、それをリストにレンダリングする。
renderItem内で設定する値を以下の表に記載
renderItem
onPressIn {drag}を設定。タップすることでドラッグが可能。
onLongPress {drag}を設定。長押しをすることでドラッグが可能。

5. まとめ

今回は、リスト表示方ドラッグ&ドロップのライブラリを紹介しました。簡単にドラッグ&ドロップを実装できることに感動しました。このライブラリを使うことでToDoListも作れそうですね(^^)

他にもドラッグ&ドロップを実装できるライブラリを紹介していますので、そちらの記事も是非、ご覧ください(^^)。