vercel-react-view-transitions

Implement native view transition animations in React using the ViewTransition component and CSS pseudo-elements.

Updated Sep 3, 2026
One-click install
npx skills add https://github.com/xzedm/clipplic-landing --skill vercel-react-view-transitions-xzedm
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: vercel-react-view-transitions
Source: https://github.com/xzedm/clipplic-landing/tree/main/.agents/skills/vercel-react-view-transitions
Command: npx skills add https://github.com/xzedm/clipplic-landing --skill vercel-react-view-transitions-xzedm

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Adding smooth, native-feeling animations between UI states in React typically requires third-party animation libraries or manual DOM manipulation. This Skill guides you through using React's built-in View Transition API to animate route changes, shared elements, list reorders, and Suspense reveals with graceful degradation on unsupported browsers. ## Core Features & Use Cases - Shared Element Transitions: Morph elements between views using named <ViewTransition> pairs, such as a thumbnail expanding into a full detail image. - Directional Navigation Animations: Tag transitions with addTransitionType to apply forward/back slide animations for hierarchical navigation. - Suspense and List Animations: Animate content reveals when Suspense resolves and animate list item reordering with per-item keys. - Use Case: When building a photo gallery in Next.js, use this Skill to make each thumbnail morph into its detail view, slide pages directionally on navigation, and fade in content as data loads. ## Quick Start Add view transitions to my React app so that navigating from the list page to the detail page animates with a shared element morph and directional slide.

Frequently Asked Questions about vercel-react-view-transitions

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add page transition animations in React?▼

Wrap your page content in React's `<ViewTransition>` component and trigger navigation inside `startTransition`. Use `addTransitionType` to tag transitions with types like 'nav-forward' so CSS classes can apply directional slide animations.

How do shared element transitions work in React?▼

Assign the same `name` prop to two `<ViewTransition>` components, one unmounting and one mounting in the same transition. React morphs between them automatically. Only one VT with a given name can be mounted at a time, so use unique names like `photo-${id}`.

Does ViewTransition work with Next.js?▼

Yes, the Next.js App Router bundles React canary internally, so `ViewTransition` works out of the box without installing react@canary. Without Next.js, you must install `react@canary` and `react-dom@canary` since ViewTransition is not in stable React.

Why is my ViewTransition enter or exit animation not firing?▼

The `<ViewTransition>` element must appear before any DOM nodes in its parent; wrapping it in a div suppresses enter/exit triggers. Also, only `startTransition`, `useDeferredValue`, or Suspense activate VTs, regular setState does not animate.

Which browsers support the View Transition API?▼

View transitions are supported in Chromium 111+, Firefox 144+, and Safari 18.2+. On unsupported browsers, React skips the animations gracefully, so the UI still updates without visual transitions.

Why doesn't router.back() trigger view transitions in Next.js?▼

`router.back()` and browser back/forward buttons use popstate, which is synchronous and incompatible with `startViewTransition`. Use `router.push()` with an explicit URL instead to trigger the transition.