as

Settings
Sign out
Notifications
Alexa
亚马逊应用商店
Ring
AWS
文档
Support
Contact Us
My Cases
新手入门
设计和开发
应用发布
参考
支持
跳转到主要内容
@amazon-devices/shopify__flash-list提供一个高速度、高性能的列表组件。FlashList和React Native提供的FlatList类似。FlatList所支持的属性,FlashList也支持。您可以通过替换FlatList组件并添加estimatedItemSize属性来尝试FlashList。此外,FlashList通过添加其他属性来扩展支持的属性的列表,以帮助实现最佳性能。 这是一个系统部署的库,可供适用于Vega的React Native应用使用,无需单独的安装过程。它作为自动链接库进行部署,您的应用在运行时会链接到该库。只能在库和为其构建的适用于Vega的React Native版本之间保证兼容性。 在升级构建应用所依据的适用于Vega的React Native版本时,最佳实践是同时升级依赖于适用于Vega的React Native的库的版本。

安装

  1. 在package.json文件中添加JavaScript库依赖项。选择适用于您的React Native版本的选项卡。
  1. 使用npm install命令重新安装依赖项。

示例

以下示例使用常见的数据集和组件。为了避免示例中的重复,已删除一些项目。

FlashList组件示例

带有无限滚动功能的FlashList示例

MasonryFlashList示例

MasonryFlashList是包含许多列的FlashList组件。

API参考

查看专门文档页面(仅提供英文版),了解有关此库、API参考等的信息。 FlashList库涵盖了FlatList组件支持的所有属性。它如下文所列,增加了用于优化性能的额外属性。

组件

属性

FlashList在后台使用ScrollView,这和FlatList一样,因此继承了其属性。

实现详情

并非React Native FlatList中支持的所有属性都在FlashList中有等效属性。请参见下面FlashList不支持的React Native属性列表。
  • 不支持的属性
    • columnWrapperStyle
    • debug
    • listKey
    • onScrollToIndexFailed
    • windowSize
  • 不支持的方法
    • flashScrollIndicators()
    • hasMore
    • getChildContext
    • getNativeScrollRef()​
    • getScrollRef
    • getScrollResponder()
  • 由于底层实现的差异,在移植到FlashList时不会有任何作用的属性
    • disableVirtualization
    • getItemLayout
    • initialNumToRender
    • maxToRenderPerBatch
    • recordInteraction
    • setNativeProps
    • updateCellsBatchingPeriod
  • Vega目前不支持的属性
    • refreshControl
    • refreshing
ItemItemSeparatorComponent已知问题 使用ItemItemSeparatorComponent时,在基于Perfetto轨迹进行滚动时,JS线程可能会出现问题。

key属性的使用

从React Native FlatList迁移到Flashlist时,您应该从项目组件及其嵌套组件中移除所有key属性。如果您使用key属性,FlashList无法再循环视图,这会移除Flashlist的性能优化。 例如,下面的代码片段在Text和View组件中使用了key属性。
要优化Flashlist,请移除key属性,如下所示。
有关key属性的更多详细信息,请参阅Shopify文档(仅提供英文版)。

支持的版本

其他资源

有关其他库的信息,请参阅支持的第三方库和服务。
最后修改于 2026年10月26日