Выбор ответа Middle React 18-19: Suspense, transitions, RSC обновлено

Что делает React Compiler

Вопрос

Команда включила React Compiler. Что верно?

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

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

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

Коротко

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

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

  1. Компилятор переводит компоненты в Web Components при сборке бандла
  2. Компилятор работает в рантайме и замедляет первый рендер приложения
  3. При сборке сам мемоизирует компоненты и значенияправильный ответ
  4. Компилятор делает рендер прерываемым, без него конкурентного режима нет

Разбор

React Compiler анализирует код на этапе сборки и вставляет кеширование, эквивалентное точной ручной мемоизации, поэтому ручные useMemo, useCallback и memo чаще всего не нужны. Если в компоненте нарушены правила React (мутации пропсов, побочные эффекты в рендере), компилятор его пропускает. Отключить можно директивой 'use no memo'.

  • В Web Components он ничего не превращает.
  • Работа идёт на этапе сборки.
  • Конкурентный рендер появился в React 18 с createRoot, компилятор к нему отношения не имеет.

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

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