Выбор ответа Junior Списки и производительность спрашивают часто обновлено
React Native: ScrollView или FlatList
Вопрос
Почему для списка из 2000 элементов используют FlatList, а не ScrollView с map?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: FlatList виртуализирует список, а ScrollView рендерит всех детей. ScrollView создаёт все 2000 элементов и их нативные представления: долгий первый рендер и много памяти.
Варианты ответа
ScrollViewне умеет прокручиваться вертикально без дополнительной настройкиFlatListсам загружает данные с сервера порциями по мере прокруткиFlatListвиртуализирует список, аScrollViewрендерит всех детейправильный ответScrollViewработает только на iOS, а на Android для списков нуженFlatList
Разбор
ScrollView создаёт все 2000 элементов и их нативные представления: долгий первый рендер и много памяти. FlatList рендерит окно вокруг видимой области, остальное заменяет пустым местом. Данные он не грузит сам, а ScrollView прокручивается в любом направлении на обеих платформах.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.