Головна / Статті / Випущено React 19.2, а не React 20

Випущено React 19.2, а не React 20

React 20 ще не існує. React 19.2 додає useEffectEvent, Activity, покращені трекери у DevTools та більш плавну роботу Suspense — тож варто оновитися прямо зараз.

564 слів

Обсяг пошукового трафіку навколо „React 20“ величезний, проте інформація про реліз є більш практичною, ніж чутки про нову майорну версію.

Реліз React 20 ще не існує. Насправді вийшла версія React 19.2, і зміни в ній настільки суттєві, що люди цілком логічно припускають, що мав відбутися справжній прорив у версії.

Що саме з’явилося у версії 19.2

useEffectEvent надає функціям типу Effects стабільний спосіб отримання найновіших параметрів та стану без необхідності додавати ці значення до списку залежностей (що відстежується за номером проблеми #22646). Старий спосіб обходу проблеми — зберігання значень у useRef для уникнення застарілих замикань — стає непотрібним у цьому випадку.

// before: ref juggling to avoid stale closures
const onScrollEvent = useEffectEvent((currentTheme) => {
  logScrollPosition(currentTheme);
});

useEffect(() => {
  const handler = () => onScrollEvent(theme);
  window.addEventListener('scroll', handler);
  return () => window.removeEventListener('scroll', handler);
}, []); // theme intentionally left out — useEffectEvent handles it

Activity зберігає стан компонента живим, приховуючи його від DOM. Це корисно для табів, маршрутів поза екраном та списків, де положення прокрутки має зберігатися після виходу та повернення.

Chrome DevTools тепер відображає фази рендерингу та збереження даних у React безпосередньо в розділі React Performance Tracks. Ви можете бачити, які операції спричинили затримку відображення кадру, не припускаючи цього лише на основі загального аналізу продуктивності.

Suspense також покращився: вкладені межі зменшують кількість несподіванок під час відображення контенту, а переходи у режимі резерву стають плавнішими під час його завантаження.

Чому це більше, ніж просто номер версії

Щоденний досвід розробника залишається пріоритетом у плануванні розвитку: функції, які найчастіше впроваджуються командами, усувають конкретні проблеми, не вимагаючи створення зовсім нової концепції роботи з React. — Узагальнено з опису опитування State of React 2026

Цей підхід відповідає напрямку розвитку продукту. React не прагне лише глянцевої мітки версії v20. Він усуває повсякденні проблеми: застарілі механізми в Effects, недоліки у DevTools та втрату стану інтерфейсу, коли екран тимчасово не видно.

Що саме потрібно зробити прямо зараз

  • Оновіться до версії 19.2, якщо ви все ще користуєтесь 19.0; ця версія розроблена для збереження зворотної сумісності.
  • Замініть трюки з використанням ref на useEffectEvent там, де вам потрібні лише останні значення без необхідності повторного підписування.
  • Для інтерфейсів з великою кількістю вкладок або у форматі майстра спробуйте скористатися Activity, перш ніж використовувати іншу бібліотеку стану лише для збереження прихованих екранів.
  • Використовуйте цю версію разом із React Compiler (стабільна з кінця 2025 року), щоб скоротити кількість вручну написаних функцій useMemo та useCallback, оскільки компілятор вже займається мемоізацією.

Яке місце це займає в загальній картині

Ці оновлення гармонійно поєднуються з серверними компонентами Next.js, більш суворим механізмом інференції TypeScript та стилюванням, заснованим на утилітах, у Tailwind CSS. Спільний фул-стек JavaScript продовжує об’єднуватися, замість того щоб розділятися на конкуруючі групи.

Для авторитетної інформації краще звертатися до офіційного блогу React та документації щодо версіонування, ніж до другорядних оглядів «React 20». Основна документація відображає саме те, що фактично постачається.

Коротко кажучи: цикл хайпу випередив цикл випуску. React 19.2 вже вартий впровадження завдяки конкретним покращенням у сферах Effect, Activity, DevTools та Suspense. Залишайтеся близько до вихідних матеріалів, оновлюйтесь тоді, коли це доцільно для вашого додатку, і ви будете готові, коли з’явиться справжня основна версія.