23.04.2025, Ссылка на новость

Когда наконец рассказали про Activity

В новой экспериментальной версии React появилась возможность попробовать View Transitions и Activity, что намекает на то, что компоненты будут реализованы.

В 2022 году впервые рассказали о компоненте Offscreen, который позже переименовали в Activity. Суть Activity в том, что он позволяет скрыть компоненты визуально, но сохранить их состояние, причём эффекты размонтируются. Компонент может быть очень полезен, если надо сохранить состояние целого экрана, показав другое на короткое время - например при поиске в таблице отображать сплеш-скрин, если результатов нету.

View Transitions API – новое API, которое предоставляет возможность контролировать анимации при переключении между страницами. Данный подход можно использовать как для SPA-приложений, так и для MPA-приложений. Крупные решения активно ведут разработку по использованию такого API, и React не стал исключением! Мы сможем интегрировать VIew Transitions в роутинг и создать плавные анимации по переключению страниц с помощью CSS классов и новых псевдо-элементов.

В оригинальной статье есть классные демки по использованию View Transitions

Не обошли стороной и совсем новые фичи - команда React’а ведёт разработку по улучшению DX при работе с DevTools. С недавнего времени во вкладку Performance можно добавлять кастомные треки, что возможно позволит интегрировать React DevTools в браузеры без расширения.

Ну и нашумевший React Compiler тоже получит новую фичу в будущем: возможность расставлять dependency для эффектов, если они не заданы.

А ещё команда React’а всерьёз задумывается над тем, чтобы разрешить добавлять рефы на <Fragment />, потому что в React 19 был удалён метод findDOMNode и разработчикам библиотек стало сложнее работать с рефами и обрабатывать их. Подробнее о такой возможности нам расскажут в следующий раз. Но теперь это самая крутая ожидаемая фича.

Не обошлось и без упоминания будущих улучшение параллельных рендеров и сторов, которые в 18 Реакте имели проблемы, вызывая синхронные рендеры при обновлении сторов. Теперь это будет в прошлом и 19-й Реакт поддерживает полноценную работу с внешними сторами при помощи хука use(store), а команда Реакта продолжает исследование возможностей улучшения использования внешних сторов.