Выбор ответа Middle React 18-19: Suspense, transitions, RSC обновлено
Что делает React Compiler
Вопрос
Команда включила React Compiler. Что верно?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: При сборке сам мемоизирует компоненты и значения. React Compiler анализирует код на этапе сборки и вставляет кеширование, эквивалентное точной ручной мемоизации, поэтому ручные useMemo, useCallback и memo чаще всего не нужны.
Варианты ответа
- Компилятор переводит компоненты в Web Components при сборке бандла
- Компилятор работает в рантайме и замедляет первый рендер приложения
- При сборке сам мемоизирует компоненты и значенияправильный ответ
- Компилятор делает рендер прерываемым, без него конкурентного режима нет
Разбор
React Compiler анализирует код на этапе сборки и вставляет кеширование, эквивалентное точной ручной мемоизации, поэтому ручные useMemo, useCallback и memo чаще всего не нужны. Если в компоненте нарушены правила React (мутации пропсов, побочные эффекты в рендере), компилятор его пропускает. Отключить можно директивой 'use no memo'.
- В Web Components он ничего не превращает.
- Работа идёт на этапе сборки.
- Конкурентный рендер появился в React 18 с
createRoot, компилятор к нему отношения не имеет.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Предыдущий вопрос
useDeferredValue и debounce
Следующий вопрос
Функция из серверного компонента в клиентский
Термины по теме
Ещё по теме «React 18-19: Suspense, transitions, RSC»
- Автоматический батчинг
- RSC и SSR
- Что запускает Suspense
- Transition для значения поля
- use в условии
- Промис, созданный в рендере, и use
- Что значит use server
- Ошибка гидрации