Выбор ответа Middle memo, useMemo, useCallback обновлено

Таблица на 10 000 строк

Вопрос

Таблица на 10 000 строк медленно монтируется и прокручивается. Что даст наибольший эффект?

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

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

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

Коротко

Правильный ответ: Виртуализация: рендерить видимые строки и запас. Основная стоимость в создании и поддержке десятков тысяч DOM-узлов.

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

  1. Обернуть каждую строку в memo с компаратором по id
  2. Заменить map на цикл for, чтобы не создавать замыкания
  3. Виртуализация: рендерить видимые строки и запасправильный ответ
  4. Перенести данные таблицы в Context над списком

Разбор

Основная стоимость в создании и поддержке десятков тысяч DOM-узлов. Виртуализация оставляет в DOM несколько десятков строк, остальные подставляются при прокрутке. memo не уменьшает первый рендер и количество узлов. Цикл вместо map даёт копейки. Context не влияет на объём DOM.

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

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

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