Skip to main content

Що таке streaming rendering?

Streaming Rendering (стрімінговий рендеринг) - це спосіб, за якого сторінка приходить користувачу частинами, а не одним шматком, у міру готовності даних. Користувач бачить контент одразу, навіть якщо частина сторінки ще завантажується.


Що таке streaming rendering

У Next.js streaming заснований на:

  • React Server Components
  • Suspense
  • потоковій відправці HTML із сервера

Як це працює (покроково)

  1. Сервер починає рендер сторінки
  2. Готові частини HTML надсилаються одразу
  3. Повільні блоки замінюються на fallback
  4. Коли дані готові - HTML дострімлюється
  5. UI оновлюється без перезавантаження сторінки
request [header][sidebar][skeleton] [real content]

Приклад із Suspense

tsx
import { Suspense } from "react"; export default function Page() { return ( <> <Header /> <Suspense fallback={<Skeleton />}> <SlowBlock /> </Suspense> </> ); }
tsx
async function SlowBlock() { const data = await fetchSlowData(); return <Content data={data} />; }
  • Header -> приходить одразу
  • Skeleton -> показується миттєво
  • Content -> довантажується пізніше

Навіщо потрібен streaming

Покращує perceived performance

Користувач одразу щось бачить, а не чекає.

Ідеальний для важких сторінок

  • AI-відповіді
  • складні дашборди
  • декілька API
  • великі БД-запити

Чудово поєднується з SSR / ISR

Streaming ≠ окремий тип рендерингу Він підсилює SSR та ISR.


Streaming vs звичайний SSR

Звичайний SSRStreaming
HTMLодним шматкомчастинами
Перший контентчекає на всез'являється одразу
Skeletonвручнунативно
UXдобрийвідмінний

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.