После каких нововведений поменялась версия React?
Основы React
Каждая мажорная версия React приносила крупные нововведения. Ниже они разложены по эпохам.
Версии и их нововведения
React 16 (2017) — Fiber. Полностью переписанное ядро: прерываемый рендеринг, основа будущей конкурентности. Плюс: Error Boundaries, порталы, возврат массивов/строк из render.
- 16.3: новый Context API, createRef.
- 16.8 (2019): хуки — useState, useEffect и остальные; поворотный момент, после которого классовые компоненты стали отходить.
React 17 (2020) — «безфичевый» релиз. Никаких новых API для разработчиков: перестройка системы событий (делегирование на корень приложения вместо document), поддержка постепенных обновлений и нескольких версий React на странице; новый JSX-трансформ (не нужен import React).
React 18 (2022) — конкурентный рендеринг. createRoot, автоматический батчинг везде, useTransition/useDeferredValue, Suspense на сервере и стриминговый SSR, useId, useSyncExternalStore, StrictMode с двойным монтированием.
React 19 (2024) — actions и серверные компоненты. Стабилизация Server Components и директив 'use client'/'use server', хук use, Actions и useActionState/useOptimistic для форм, ref как обычный проп (без forwardRef), встроенная поддержка метаданных документа; React Compiler (автоматическая мемоизация) — рядом с релизом.
Логика эволюции
16 — фундамент (Fiber) → 16.8 — новая модель компонентов (хуки) → 17 — мост для миграций → 18 — конкурентность → 19 — сервер и автоматизация оптимизаций.
Коротко для собеседования
Опорные точки: 16 — Fiber и Error Boundaries, 16.8 — хуки, 17 — технический релиз (события, новый JSX-трансформ), 18 — конкурентный рендеринг (createRoot, transitions, автобатчинг, стриминговый SSR), 19 — Server Components, Actions, ref-проп и React Compiler.