【ReactNative】react-native-draganddrop-boardライブラリを使ってドラッグ&ドロップを実装してみた
本記事の内容
  • ドラッグ&ドロップを実装したい
  • 状態遷移できるアプリを作りたい

と言うものを作りたいと思っている方向けの記事になっています。
記事を読むことで下の動画のようなボタンを実装することができます。

1. 概要

今回は、react-native-draganddrop-boardライブラリを紹介していきます。

react-native-draganddrop-boardライブラリ

react-native-draganddrop-boardライブラリは、状態遷移のドラッグ&ドロップを簡単に実装することができるライブラリです。プロパティも豊富ですので、カスタマイズもでき、自分好みのスイッチを作ることが可能です。

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

2. インストール方法

下記のコマンドを実行してreact-native-switch-selectorライブラリをインストールします。

3. 使い方

3.1 import

‘react-native-draganddrop-board’ライブラリから{Board, BoardRepository}コンポーネントをインポートします。

4. 実装

サンプルコード

3.3 プロパティ

本ライブラリを使う時に設定するプロパティを一部紹介します。
大きく4つのコンポーネントに分けて、カスタマイズすることができます。

<Board>コンポーネントのプロパティ
boardRepository データを保持するオブジェクト
boardBackground ボードの背景色
open アイテムが押されたときに呼び出される関数は、アイテムを返す。
必須プロパティ。空でも可。
onDragEnd ドラッグが終了したときに呼び出される関数。
必須プロパティ。空でも可。
<Card>コンポーネントのプロパティ
cardContent 別のコンポーネントを使用してカードをカスタマイズすることができる。
テキスト表示からアイコン表示まですることができる
cardNameTextColor 最初の行の色
cardNameFontSize 最初の行のフォントサイズ
cardDescriptionTextColor 2行目の色
cardDescriptionFontSize 2行目のフォントサイズ
cardBackground カードの背景色
<Column>コンポーネントのプロパティ
badgeBackgroundColor カウントバッジの背景色
badgeHeight カウントバッジの高さ
badgeWidth カウントバッジの幅
BadgeTextColor カウントバッジのテキストの色
columnHeight ボードの高さ
columnNameTextColor ボード名の色
isWithCountBadge falseの場合、カウントバッジは表示しない。
<Empty column>コンポーネントのプロパティ
emptyIconColor アイコンの色
emptyTextColor テキストの色
emptyFontSize テキストのフォントサイズ

5. まとめ

状態遷移できるドラッグ&ドロップを簡単に実装でき、デフォルトのデザインもよく、かなりおすすめのライブラリです。

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