【React Native】「react-native-accordion」ライブラリでアニメーション付きアコーディオンを実装する

React Native アプリでアコーディオンリストを実装する際、React Native Paper の List.Accordion を使用していたのですが、アコーディオンを開く/閉じる際にアニメーションが欲しくなったので、別のライブラリを使うことにしました。
で、導入したのが「react-native-accordion」というライブラリです。

GitHub のページはこちら。

GitHub – Gapur/react-native-accordion: Animated accordion component for React Native
https://github.com/Gapur/react-native-accordion

 

導入手順ですが、まず下記コマンドでインストールします。

npm install --save @gapur/react-native-accordion

あとは、アコーディオンを実装したいページで、ライブラリをインポートすれば準備は完了です。

import Accordion from "@gapur/react-native-accordion";

アコーディオンを追加したい場所で下記を追加してください。

<Accordion
  showButton
  headerTitle="タイトル">
  <View>
    <Text>アコーディオンをタップして表示したい内容</Text>
  </View>
</Accordion>

なお、アコーディオン展開前の見た目については、プロパティの renderHeader を使えば任意のコンポーネントを表示させることができます。
サンプルコードは下記の通りです。

<Accordion
  showButton
  renderHeader={() => <View><Text>カスタムヘッダー</Text></View>}>
  <View>
    <Text>アコーディオンをタップして表示したい内容</Text>
  </View>
</Accordion>

また、showButton プロパティを追加すると、アコーディオン下部に開く/閉じるボタンが表示されます。
もしボタンの位置などのスタイルを変更したい場合は buttonStyle プロパティで設定すればOKです。
私はアコーディオンの右端にくるように変更しました。
なお、showButton プロパティを追加しない場合は、アコーディオン全体がタップ可能になります。

基本的な使い方は以上です。
react native accordion」で調べると、他にもライブラリが出てきましたが、これが一番シンプルで使い回しができそうだったのでこちらをチョイスしました。
予想通り、とても使いやすくてお勧めです!
特に、アコーディオンの見た目をカスタマイズをしたい場合は、こちらを導入するといいと思います。

 

以上、React Native でアニメーション付きのアコーディオンを実装できるライブラリ「react-native-accordion」のご紹介でした。
ご参考になれば幸いです。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG