Какая разница между ListView и FlatList?

Согласно документации на Facebook,

ListView - основной компонент, предназначенный для эффективного отображения вертикально прокручивая списки изменяющихся данных.

FlatList - интерфейс для рендеринга простых, плоских списков.

Кажется, что оба они эффективны. Что мы должны учитывать при выборе одного из другого?

Ответ 1

FlatList - более производительный по сравнению с ListView. Рендеринг ListView может стать медленным, когда количество элементов увеличивается. FlatList значительно улучшает использование памяти и эффективность (особенно для больших или сложных списков), а также значительно упрощает реквизиты - больше не требуется источник данных!

Особенности
Flatlist упакован с новыми компонентами, полными функциональных возможностей для обработки большинства вариантов использования "из коробки":

  • Загрузка прокрутки (onEndReached).
  • Потяните, чтобы обновить (onRefresh/refreshing).
  • Настраиваемые обратные вызовы для просмотра (VPV) (onViewableItemsChanged/viewabilityConfig).
  • Горизонтальный режим (горизонтальный).
  • Интеллектуальные разделители элементов и разделов.
  • Поддержка нескольких столбцов (numColumns)
  • scrollToEnd, scrollToIndex и scrollToItem
  • Лучше печатать на клавиатуре.

В FlatList все еще отсутствуют некоторые функции, такие как липкие заголовки, но он быстро развивается. ListView собирается устареть.

ListView теперь устарел, а Sticky Headers в Flat list теперь работают