Amazon Developer

as

Settings
Sign out
Notifications
Alexa
Amazonアプリストア
Ring
AWS
ドキュメント
Support
Contact Us
My Cases
開発
設計と開発
公開
リファレンス
サポート
メインコンテンツへスキップ
@amazon-devices/shopify__flash-listライブラリは、高速でパフォーマンスに優れたリストコンポーネントを提供します。FlashListは、React Nativeから提供されているFlatListに似ています。FlatListでサポートされるプロパティは、FlashListでもサポートされます。FlashListは、FlatListコンポーネントを置き換えてestimatedItemSizeプロパティを追加するだけで試すことができます。また、FlashListでは、サポートされるプロパティのリストが拡張され、最適なパフォーマンスの実現に役立つプロパティが追加されています。 このライブラリはシステムにデプロイされるため、別途インストールプロセスを必要とすることなくVega向けReact Nativeアプリで利用できます。ライブラリは自動リンクされており、アプリは実行時にリンクします。このライブラリは、そのライブラリがビルドされたVega向けReact Nativeのバージョンとのみ互換性があることが保証されています。 アプリのVega向けReact Nativeのバージョンをアップレベルするときは、ライブラリの依存関係をアップレベルするベストプラクティスを検討してください。

インストール

  1. package.jsonファイルにJavaScriptライブラリの依存関係を追加します。
  2. npm installコマンドを使用して、依存関係を再インストールします。

例

以下の例では、共通のデータセットとコンポーネントを使用します。重複を避けるために、例では一部のアイテムが削除されています。

FlashListコンポーネントの例

無限スクロールのFlashListの例

MasonryFlashListの例

MasonryFlashListは、多数の列を持つFlashListコンポーネントです。

APIリファレンス

このライブラリとAPIリファレンスの詳細については、ドキュメントページを参照してください。 FlashListライブラリは、FlatListコンポーネントでサポートされるすべてのプロパティに対応しています。また、以下に示すようにパフォーマンスを最適化するためのプロパティが追加されています。

コンポーネント

プロパティ

FlashListは、FlatListと同様に内部でScrollViewを使用しているため、そのプロパティを継承しています。

既知の問題と制限事項

React NativeのFlatListでサポートされているプロパティのすべてに、FlashListで同等のプロパティがあるとは限りません。React Nativeの以下のプロパティはFlashListではサポートされていません。
  • サポートされていないプロパティ:
    • columnWrapperStyle
    • debug
    • listKey
    • onScrollToIndexFailed
    • windowSize
  • サポートされていないメソッド:
    • flashScrollIndicators()
    • hasMore
    • getChildContext
    • getNativeScrollRef()​
    • getScrollRef
    • getScrollResponder()
  • 基盤となる実装の違いにより、FlashListに移植しても意味のないプロパティ:
    • disableVirtualization
    • getItemLayout
    • initialNumToRender
    • maxToRenderPerBatch
    • recordInteraction
    • setNativeProps
    • updateCellsBatchingPeriod
  • Vegaで現在サポートされていないプロパティ:
    • refreshControl
    • refreshing
ItemItemSeparatorComponentの既知の問題 Perfettoトレースによると、ItemItemSeparatorComponentを使用する場合、スクロール時にJSスレッドで問題が発生することがあります。

keyプロパティの使用

keyプロパティを使用すると、FlashListでビューをリサイクルできなくなり、Flashlistのパフォーマンス最適化の効果が失われます。React NativeのFlatListからFlashlistに移行する場合は、アイテムコンポーネントとその入れ子のコンポーネントからkeyプロパティをすべて削除する必要があります。 たとえば、次のコードスニペットでは、TextコンポーネントとViewコンポーネントでkeyプロパティが使用されています。
Flashlistを最適化するには、次のようにkeyプロパティを削除します。
keyプロパティの詳細については、Shopifyのドキュメント(英語のみ)を参照してください。

サポートされているバージョン

関連トピック

サポート対象のサードパーティのライブラリとサービス
最終更新日 2026年10月26日