Amazon Developer

as

Settings
Sign out
Notifications
Alexa
Amazon Appstore
Ring
AWS
Documentation
Support
Contact Us
My Cases
Get Started
Design and Develop
Publish
Reference
Support
Skip to main content
@amazon-devices/shopify__flash-list provides a fast and performant list component. FlashList is similar to FlatList provided by React Native. Props supported by FlatList are also supported by FlashList. You can try FlashList by replacing a FlatList component and adding a estimatedItemSize prop. Additionally, FlashList extends the list of supported props by adding additional props to help achieve optimal performance. This is a system-deployed library and is available to React Native for Vega apps without a separate installation process. It is deployed as an autolinking library which your app links to at runtime. Compatibility is guaranteed only between the library and the version of React Native for Vega for which it is built. When you upgrade the version of React Native for Vega upon which your app is built, it is best practice to also upgrade the versions of the libraries that depend on React Native for Vega.

Installation

  1. Add the JavaScript library dependency in the package.json file.
  2. Reinstall dependencies using npm install command.

Examples

The examples below use a common dataset and components. Some items have been removed to avoid duplication in examples.

FlashList component example

FlashList with infinite scroll example

MasonryFlashList example

MasonryFlashList is the FlashList component with many columns.

API reference

Check out the dedicated documentation page for info about this library, API reference and more. The FlashList library covers all of the props supported by the FlatList component. It adds additional props for optimizing performance, as listed below.

Components

Props

FlashList, as FlatList, uses ScrollView under the hood, so it inherits its props.

Implementation details

Not all props supported in React Native FlatList have an equivalent in FlashList. See the list below of props in React Native that are not supported by FlashList.
  • Unsupported props
    • columnWrapperStyle
    • debug
    • listKey
    • onScrollToIndexFailed
    • windowSize
  • Unsupported methods
    • flashScrollIndicators()
    • hasMore
    • getChildContext
    • getNativeScrollRef()​
    • getScrollRef
    • getScrollResponder()
  • Props that would bring no value if ported to FlashList due to the differences in their underlying implementation
    • disableVirtualization
    • getItemLayout
    • initialNumToRender
    • maxToRenderPerBatch
    • recordInteraction
    • setNativeProps
    • updateCellsBatchingPeriod
  • Props that aren’t currently supported on Vega
    • refreshControl
    • refreshing
ItemItemSeparatorComponent known issue When using the ItemItemSeparatorComponent, you may experience issues with the JS Thread when scrolling based on Perfetto traces.

Use of key prop

When migrating from React Native FlatList to Flashlist, you should remove any key props from your item components and their nested components. If you use a key prop, FlashList can’t recycle views, which removes performance optimizations of Flashlist. For example, this code snippet below uses key props in Text and View components.
To optimize Flashlist, remove the key props, as shown below.
See the Shopify docs for more details about the key prop.

Supported versions

Additional resources

For information on additional libraries, see Supported Third-Party Libraries and Services.
Last modified on October 3, 2025