Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про React: performance, memoization, hook

Как мемоизация изменилась в React 19?

Вопрос проверяет знание о нововведениях и изменениях в API React, связанных с оптимизацией повторных рендеров.

Короткий ответ

В React 19 появился новый хук use, но основные хуки для мемоизации (useMemo, useCallback, memo) остались и работают по тем же принципам. Ключевое изменение связано с компилятором React, который анонсирован как часть будущего React 19. Этот компилятор сможет автоматически мемоизировать код компонентов, что потенциально уменьшит необходимость ручного использования useMemo и useCallback в будущем.

Длинный ответ

Сама концепция мемоизации не изменилась — это все еще оптимизация для кеширования вычислений и предотвращения лишних пересчетов и ререндеров.

Что осталось прежним:

  • useMemo: для мемоизации результатов тяжелых вычислений.

  • useCallback: для мемоизации функций и передачи стабильных ссылок дочерним компонентам.

  • React.memo: для мемоизации компонентов и предотвращения их ререндера при неизмененных пропсах.

Что нового в React 19 и будущем:

  1. Хук use:
    Это новый хук для чтения ресурсов (например, промисов или контекста). Пока он напрямую не заменяет useMemo/useCallback, он представляет новый примитив для работы с асинхронностью, который может влиять на общую архитектуру и необходимость в мемоизации.

  2. React Compiler (главное изменение):
    Самое значимое "изменение" связано не с API, а с инструментом под названием React Compiler. Ранее известный как "React Forget", это компилятор, который автоматически анализирует код компонентов и решает, где нужно применить мемоизацию.

    • Цель: Избавить разработчиков от необходимости вручную расставлять useMemo и useCallback повсеместно, уменьшая количество шаблонного кода и предотвращая человеческие ошибки.

    • Как работает: Компилятор статически анализирует код и на этапе сборки добавляет мемоизацию туда, где это необходимо для сохранения идентичности ссылок и предотвращения лишних вычислений.

Вывод:
Пока React Compiler не стал стандартом, правила ручной мемоизации с помощью useMemo, useCallback и memo остаются актуальными и важными для производительности. React 19 закладывает основу для того, чтобы в будущем эта работа могла быть автоматизирована.

Уровень

  • Рейтинг:

    2

  • Сложность:

    8

Навыки

  • React

    React

Ключевые слова

#performance

#memoization

#hook

Подпишись на React Developer в телеграм