Выбор ответа Senior Списки и производительность обновлено

FlatList: windowSize

Вопрос

Что произойдёт, если уменьшить windowSize с 21 до 5?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Меньше элементов вокруг экрана: экономия памяти, но пустые места при быстрой прокрутке. windowSize задаётся в экранах: 21 означает видимый экран и по 10 экранов сверху и снизу.

Варианты ответа

  1. Список покажет только 5 элементов и перестанет прокручиваться дальше
  2. Меньше элементов вокруг экрана: экономия памяти, но пустые места при быстрой прокруткеправильный ответ
  3. Ничего не изменится: проп windowSize давно устарел и игнорируется в новых версиях RN
  4. Элементы будут рендериться в 4 раза быстрее без каких-либо побочных эффектов

Разбор

windowSize задаётся в экранах: 21 означает видимый экран и по 10 экранов сверху и снизу. При 5 рендерится примерно по 2 экрана в каждую сторону. Это экономит память и JS-работу, но при быстрой прокрутке отрисовка может не успеть, и пользователь увидит пустоту. Это компромисс, а не бесплатное ускорение.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме