Выбор ответа Middle memo, useMemo, useCallback обновлено
Таблица на 10 000 строк
Вопрос
Таблица на 10 000 строк медленно монтируется и прокручивается. Что даст наибольший эффект?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Виртуализация: рендерить видимые строки и запас. Основная стоимость в создании и поддержке десятков тысяч DOM-узлов.
Варианты ответа
- Обернуть каждую строку в
memoс компаратором по id - Заменить
mapна циклfor, чтобы не создавать замыкания - Виртуализация: рендерить видимые строки и запасправильный ответ
- Перенести данные таблицы в Context над списком
Разбор
Основная стоимость в создании и поддержке десятков тысяч DOM-узлов. Виртуализация оставляет в DOM несколько десятков строк, остальные подставляются при прокрутке. memo не уменьшает первый рендер и количество узлов. Цикл вместо map даёт копейки. Context не влияет на объём DOM.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.