Белый экран и ошибки в консоли
Белый экран в React-приложении почти всегда значит, что JavaScript упал при первой отрисовке: необработанная ошибка в компоненте, не загрузившийся файл сборки или пустая переменная окружения. Причина видна в консоли браузера и во вкладке Network; чинят её исправлением кода, а также добавляют границу ошибок, чтобы одна поломка не гасила всю страницу.
Первая помощь и как чиним
- 1Открыть консоль
F12 → Console: первая красная ошибка и файл, в котором она произошла.
- 2Проверить загрузку
Вкладка Network: все ли JS и CSS файлы отдаются со статусом 200.
- 3Найти причину
Ошибка в коде, пустая переменная, неправильный путь или кэш старой версии.
- 4Исправить и защитить
Чиним причину и добавляем границы ошибок и понятные сообщения для пользователя.
- 5Подключить мониторинг
Сервис сбора ошибок присылает их вам раньше, чем пожалуются клиенты.
Чинить самому или отдать в «аптечку»
Мы уже наступили на эти грабли — вам не придётся
Аптечка: что с проектом?
3 вопроса — и мы скажем, сколько стоит починка. Чек-лист безопасности проекта в подарок.
Интервью с собственником и РОПом, аудит текущей CRM и источников заявок.
1–3 дняВоронки, роли, точки контроля. Согласуем до того, как что-то настраивать.
3–5 днейНастраиваем Битрикс24 и дописываем недостающие инструменты. Демо каждую неделю.
1–4 неделиОбучение, база знаний, поддержка. Дорабатываем, пока цифры не поедут вверх.
дальше — с вамиПодробнееразвёрнутое описание, этапы и нюансы
Вчера всё работало, сегодня вместо сайта пустая белая страница. Ни сообщения, ни подсказки. Для одностраничных приложений на React, а именно их делают Lovable, Bolt и v0, это типичный симптом: если код упал на старте, браузеру просто нечего показать. Хорошая новость — причина почти всегда записана в консоли.
Почему так происходит
- Ошибка при отрисовке.
Cannot read properties of undefined (reading 'map')— компонент ждал массив, а получилundefined, например, потому что API вернул ошибку. Без границы ошибок React размонтирует всё приложение. - Пустые переменные окружения. В Vite в браузер попадают только переменные с префиксом
VITE_, читаются черезimport.meta.env. Если на хостинге их не задали при сборке, клиент API создаётся сundefinedи падает. - Файлы сборки не найдены. Сайт лежит в подпапке, а сборка ждёт корень — все
.jsотдают 404. Или после выкладки браузер держит старыйindex.html, который ссылается на удалённые файлы. - Service worker. PWA-кэш продолжает отдавать старую версию.
- Ошибка в зависимости. Обновился пакет, и импорт сломался.
Что проверить самому
- Откройте F12 → Console и обновите страницу. Найдите первую красную ошибку, нажмите на ссылку справа — откроется файл и строка.
- Перейдите на вкладку Network, обновите страницу и отфильтруйте по JS. Красные строки с 404 означают проблему путей или кэша.
- Откройте сайт в режиме инкогнито. Если там работает — дело в кэше, service worker или localStorage.
- Проверьте переменные, временно выведя их в консоль:
console.log(import.meta.env.VITE_SUPABASE_URL);
- Если сайт открыт не с корня домена, проверьте
baseвvite.config. - Посмотрите в git, что менялось с последней рабочей версии.
Граница ошибок не даёт одному компоненту погасить всю страницу:
<ErrorBoundary fallback={<p>Что-то пошло не так. Обновите страницу.</p>}>
<App />
</ErrorBoundary>
Когда звать разработчика. Если первая ошибка указывает в ваш код и понятно, какое значение пустое, её часто можно исправить самому или вместе с ИИ, дав ему полный текст ошибки и файл. Если же ошибка указывает в собранный файл вроде index-a1b2c3.js, белый экран появляется только на проде или только у части пользователей, либо после исправления появляется следующая ошибка, а за ней ещё одна, — это признак системной проблемы со сборкой, окружением или данными. Здесь быстрее отдать проект на диагностику, чем перебирать варианты.
Как чиним мы
Воспроизводим белый экран, по консоли и сетевым запросам находим первопричину и исправляем её, а не глушим. Проверяем переменные окружения и процесс сборки, пути и кэширование на хостинге: index.html не кэшируется, файлы с хэшами кэшируются надолго. Добавляем границы ошибок и подключаем сбор ошибок из браузера, чтобы следующая поломка пришла вам уведомлением. Подробнее — на странице «Аптечка вайб-кода». Почему такие поломки повторяются, разобрано в статье «Почему вайб-код ломается».
Сколько стоит
Диагностика — 50 000 ₸, запуск и исправление сборки — 40 000 ₸, итого от 90 000 ₸ для небольшого проекта. Если ошибок много и приложение падает в разных местах, это работа по исправлению ошибок — плюс 70 000 ₸. Рассчитайте в калькуляторе.
Частые вопросы
У меня белый экран, а у коллеги всё работает. Почему?
Часто это кэш старой версии или service worker, браузерное расширение либо данные в localStorage, которые новая версия не ожидает. Попробуйте режим инкогнито.
В консоли десятки ошибок. С какой начинать?
С самой первой по времени. Остальные часто её следствие. Предупреждения жёлтого цвета на белый экран обычно не влияют.
Можно ли отправить ошибку из консоли ИИ?
Да, это хороший первый шаг. Но давайте ИИ полный текст с файлом и строкой и просите объяснить причину, а не «починить». Иначе он заглушит ошибку.
Сделаем так же у вас
Короткий созвон — и вы знаете срок и цену. Или посчитайте сами за 2 минуты.