Почему StrictMode добавляет сообщения в консоль

Появятся дополнительные проверочные вызовы render и цикл setup/cleanup эффекта. Это проверки разработки, а не обещание такого поведения production.

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

Что ответить на собеседовании

Появятся дополнительные проверочные вызовы render и цикл setup/cleanup эффекта. Это проверки разработки, а не обещание такого поведения production.

Подробный разбор

Ответ с пояснениями

Условие

Компонент пишет console.log в render и в эффекте, который возвращает cleanup с другим логом. Что изменится при оборачивании корня приложения в StrictMode в development?

Ответ

Появятся дополнительные проверочные вызовы render и цикл setup/cleanup эффекта. Это проверки разработки, а не обещание такого поведения production.

Не выводите бизнес-логику из точного числа console.log: оно зависит также от обновлений и жизненного цикла. Эффект должен корректно очищать подписки и выдерживать повторную установку. StrictMode не вызывает обработчик пользовательского клика дважды только из-за обёртки. Условия примера предполагают включение режима на корне, а не только во вложенном поддереве.

Источник: react.dev.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее