Но ведь в нем и так есть ScrollView. Я чего то не понимаю?
И если всё таки оптимизация у FlatList лучше, стоит ли использовать его когда нужно отрисовать всего 8-10 элементов?
если тебе надо вывести форму или текст, которые длинные, которые надо скролить, то это scrollview. если нужно вывести много данных, картинки например, таблицу, чат итп, в общем работать с данными, то это flatlist. он выигрывает в производительности за счёт рендера только тех данных, которые видит пользователь. скажем, если у тебя чат на 1000 сообщений, скроллвью должен будет зарендерить всё. тогда как flatlist имея весь объем данных, будет подгружать и выгружать их, показывая только те, что нужны пользователю в данный момент + можно настроить, сколько подгружать, сколько выгружать итп
FlatList переиспользует твой renderView То есть у тебя может быть 100 элементов, но рендлериться будет, например, 10. И при скролле эти же вьюхи будут переиспользоваться, просто маппить данные из массива в них. Для производительности гуд СкроллВью такого не умеет, он рендерит сразу все. А так зависит от твоих элементов На сколько они большие? Что ты с ними делаешь? И может ли в теории их там появиться больше 8-10? Звучит так, что скорее всего лучше подойдет FlatList Но если ты просто какие-то пункты настроек делаешь, то смысла использовать его нет, и лучше скроллвью
Спасибо за детальное разъяснение!)
я последнее время любые данные вывожу через flatlist, даже если это 4 вьюхи аля "первая загрузка приложения, и надо проскролить туториал из 4-х пунктов", т.к. flatlist куда проще и быстрее подружить со свайпами итп
Маленькая поправочка только - FlatList не умеет переиспользовать вьюхи. Хотябы потому, что key используется.
ага, по сути он дестроит вьюхи, которые не видно. для реюза есть https://github.com/Flipkart/recyclerlistview/ но по опыту, обычно flatlist вполне устраивает
Обсуждают сегодня