React 19.3: переходы становятся компонентом

В React 19.3 компонент <ViewTransition> стал стабильным. Он связывает React transitions и браузерный View Transition API: элементы могут анимироваться при появлении, исчезновении, обновлении или переносе между частями дерева.

startTransition(() => setOpen(true));

<ViewTransition>
  {open && <ArticlePreview />}
</ViewTransition>

Это не повод анимировать всё подряд. Переход должен объяснять изменение пространства, а при prefers-reduced-motion интерфейс обязан оставаться понятным без движения.

Activity и Compiler

<Activity> позволяет скрыть часть интерфейса, сохранив её состояние и управляя эффектами. Подход полезен для вкладок, предзагруженных маршрутов и возврата к сложной форме. Fragment Refs упрощают работу с группой DOM-узлов без лишнего wrapper.

React Compiler стабилизировал автоматическую мемоизацию. Он уменьшает количество ручных useMemo и useCallback, но не исправляет плохую архитектуру данных. Сначала должны быть ясные границы состояния и чистый render, затем — оптимизация.

Next.js 16: явный кэш и Turbopack

В Next.js 16 Turbopack стал сборщиком по умолчанию для разработки и production build. Cache Components делают кэширование opt-in через use cache, а Partial Pre-Rendering позволяет объединить статическую оболочку и динамические участки страницы.

Это делает поведение честнее, но не проще автоматически. Команда должна понимать, где данные динамические, какой срок жизни допустим и что должно инвалидировать кэш. Неверная стратегия способна показывать устаревшие данные быстрее, чем раньше.

AI-отладка как часть framework DX

Next.js DevTools MCP передаёт агенту сведения о маршрутах, кэше, логах и runtime-ошибках. В 16.2 появились дополнительные возможности для agent debugging и browser log forwarding. Это важный тренд: framework начинает предоставлять AI структурированный контекст вместо надежды, что модель угадает поведение по исходникам.

Обновляться лучше через codemod и отдельную ветку. Проверить нужно async APIs, поведение кэша, image-настройки и custom webpack-конфигурацию. Для простого SPA Vite всё ещё может быть рациональнее: Next нужен тогда, когда проект действительно использует его серверные возможности.

Источники

  1. React — React 19.3
  2. React — Built-in components
  3. Next.js — Next.js 16
  4. Next.js — Blog and 16.2 updates