@solvro/next-view-transitions
v0.4.3
Published
View Transitions API for Next.js App Router
Readme
next-view-transitions
Use View Transitions API in Next.js App Router.
Demo.
Disclaimer
This library is aimed at basic use cases of View Transitions and Next.js App Router. With more complex applications and use cases like concurrent rendering, Suspense and streaming, new primitives and APIs still need to be developed into the core of React and Next.js in the future (more).
Installation
Use your favorite package manager to install the @solvro/next-view-transitions package. For example:
pnpm install @solvro/next-view-transitionsUsage
Wrap your content with the <ViewTransitions> component inside the layout file:
import { ViewTransitions } from "@solvro/next-view-transitions";
export default function Layout({ children }) {
return (
<ViewTransitions>
<html lang="en">
<body>{children}</body>
</html>
</ViewTransitions>
);
}Then, use the <Link> component for links that need to trigger a view transition:
import { Link } from "@solvro/next-view-transitions";
export default function Component() {
return (
<div>
<Link href="/about">Go to /about</Link>
</div>
);
}Or use the useTransitionRouter hook for programmatic navigation:
import { useTransitionRouter } from "@solvro/next-view-transitions";
export default function Component() {
const router = useTransitionRouter();
return (
<div>
<button
onClick={() => {
// All Next.js router methods are supported
router.push("/about");
}}
>
Go to /about
</button>
</div>
);
}That's it!
License
Released under the MIT License.
Originally developed by Shu Ding.
Forked and maintained by Konrad Guzek under the @Solvro namespace.
© 2024 Shu Ding — © 2025 Konrad Guzek.
