FOUC, или Вспышка Непрорисованного Контента, - это визуальный глюк в приложениях React, при котором непрорисованный контентbriefly appears during loading. Он происходит, когда HTML отображается до применения CSS, часто из-за несоответствий между серверно-рендеренным HTML и клиентским UI в рамках таких как Next.js. Симптомы включают отображение сырого HTML до включения стилей и не immediate применение переменных CSS. Общие причины включают динамическую темизацию, использование `Date.now()` или `Math.random()` в общих компонентах и импортирование библиотек CSS слишком поздно. Чтобы исправить FOUC, всегда импортируйте глобальный CSS в `layout.tsx`, чтобы обеспечить раннюю загрузку стилей. Предоставление запасных стилей темы в `globals.scss` предотвращает мигание непрорисованных элементов. Использование гидратационного охранника задерживает рендеринг до тех пор, пока клиент не возьмет на себя управление, предотвращая несоответствия. Избегайте динамических импортов CSS, использования `Date.now()` или `Math.random()` непосредственно в рендере и чтения из `localStorage` или `window` в серверных компонентах. Разделение логики сервера от клиентской рендеринга устраняет вспышки стилей и предупреждения гидратации.
dev.to
Understanding & Fixing FOUC in Next.js App Router (2025 Guide)
Create attached notes ...
