281просмотров
83.6%от подписчиков
26 ноября 2025 г.
Score: 309
Всем привет! Наткнулся тут на обзор React Conf 2025, который проходил в прошлом месяце и решил покопаться в обновах нашего любимого инструмента. А там действительно много интересных обновлений, например официально состоявшийся релиз React компилятора, который еще живет отдельно от самого реакта, но уже готов к использованию в продакшн. Также в последней версии появились новые штуки, которые заслуживают внимания. Например, хук useEffectEvent - для выноса реактивной логики из useEffect или компонент Activity - позволяющий на время скрыть отрендеренный комопнент. О них я напишу как-нибудь в ближайшее время, а сегодня расскажу о ViewTransition - новый экспериментальный компонент. Это новый хук, который войдет в версию 19.3, но его уже можно использовать, установив canary. Этот хук заметно упрощает создание плавных анимированных переходов между состояниями интерфейса. Если раньше для подобных эффектов приходилось вручную интегрировать CSS-анимации, Web Animations API или сторонние библиотеки, то теперь у нас появится прямой декларативный путь. Мы просто оборачиваем компонент в <ViewTransition> и React автоматически будет запускать анимацию «перехода» при обновлении контента внутри компонента. React берёт на себя: - создание снимков состояния DOM до и после рендера, - синхронизацию с браузерным ViewTransition API, - корректное обновление layout до старта анимации, - предотвращение миграний или мерцаний. Вот простой пример использования: import { ViewTransition, useState, startTransition } from 'react'; function Item() { return ( <ViewTransition> <Video video={videos[0]}/> </ViewTransition> ); } export default function Component() { const [showItem, setShowItem] = useState(false); return ( <> <button onClick={() => { startTransition(() => { setShowItem((prev) => !prev); }); }} >Click me</button> ... </> ); } В результате - минимум кода (буквально добавлены ViewTransition и startTransition), но интерфейс становиться более плавным и приятным для взаимодействия. Другим преимуществом является то, что анимации создаются нативно, без использования сторонних библиотек и инструментов, а значит гарантируют максимальновозможную производительность. Ну и в целом компонент довольно гибкий, можно настраивать как саму анимацию, так и другие параметры. Ну и как всегда не без недостатков. Во-первых это все еще экспериментальное апи, а значит что-то еще может поменяться перед релизом. А во-вторых придется подождать пока это нормально заработает в Safari. Ставьте реакции о чем написать в следующем посте 🔥 - про новые хуки из React 👍 - про новые апи, уже доступные в наших браузерах
281
просмотров
2723
символов
Нет
эмодзи
Нет
медиа

Другие посты @jsornormal

Все посты канала →
Всем привет! Наткнулся тут на обзор React Conf 2025, который — @jsornormal | PostSniper