Назад

Вышел React 19.3: стабилизация View Transitions, Fragment Refs и еще пару полезных фич ⚛️⚡️

React 19.3 стабилизирует View Transitions и Fragment Refs, добавляет browser-only компоненты, Trusted Types и контекст в RSC.

Вышел React 19.3: стабилизация View Transitions, Fragment Refs и еще пару полезных фич ⚛️⚡️

React-команда выкатила свежий релиз React 19.3. Главное событие — экспериментальные фичи, за которыми мы наблюдали в ветках Canary, наконец-то доехали до официального стабильного статуса.

Что важного привезли:

  • Стабилизация <ViewTransition> API Теперь анимация переходов при монтировании, демонтировании или смене состояния компонентов работает нативно через браузерный View Transitions API.

    • Анимацию можно кастомизировать через CSS-классы (:active-view-transition-type) или управлять ею через addTransitionType прямо в JS-коде.
    • Отдельный кайф — глубокая интеграция с <Suspense>: плейсхолдеры (fallbacks) отображаются мгновенно, а появление реального контента плавно анимируется без мерцаний и задержек.
  • Fragment Refs Раньше, чтобы повесить глобальный слушатель событий, IntersectionObserver или управлять фокусом группы соседних элементов, приходилось оборачивать их в технический <div>. Теперь ref можно прокидывать напрямую в <React.Fragment> / <> — никаких лишних узлов в DOM.

  • use(browser()) — нативный отказ от SSR для компонентов Появился элегантный способ пометить компонент как browser-only без костылей с useEffect или проверки typeof window !== 'undefined'.

  • Поддержка Trusted Types (Защита от XSS) React DOM перестали насильно приводить значения к строкам при передаче в DOM API. Объектные типы Trusted Types (TrustedHTML, TrustedScript) теперь пролетают сквозь валидацию нативно, позволяя легко соблюдать строгие политики Content-Security-Policy.

  • Контекст напрямую в Server Components Раньше для чтения клиентского контекста внутри RSC требовалось городить клиентские обертки (Provider). В 19.3 контент из 'use client' модулей можно прокидывать и рендерить на сервере напрямую.

Читать подробный анонс в блоге

Уже успели опробовать нативные View Transitions или пока анимируете по старинке через Framer Motion / CSS-классы?

Скопировано