La View Transitions API ofrece una forma sencilla de transicionar cualquier cambio visual del DOM de un estado a otro.
Esto puede incluir pequeños cambios de contenido como alternar algún contenido, o cambios más amplios como navegar de una página a otra.
Este artículo se centra en mostrar cómo puedes utilizarlo en tu aplicación web con Next.js usando App Router.
Cómo usar View Transitions API en App Router de Next.js
Next.js en su version 14.2 no soporta la View Transitions API, pero puedes implementarla tu mismo de forma muy sencilla.
Si lo quieres hacer tú mismo, puedes seguir los siguientes pasos:
Utiliza un contexto de React que gestione el final de la transición y utilizarlo en el layout.tsx.
Crea una abstracción de next/link para poder dar soporte a la transición cuando se navega.
Define las transiciones con CSS e impórtalo en el layout.tsx.
Te dejo los enlaces a la implementación de estos pasos en mi aplicación web:
A esta implementación le falta soporte para las navegaciones del navegador, como el botón de atrás o adelante.
En caso de que prefieras delegar esta tarea a una librería, puedes utilizar el paquete next-view-transitions,
que es en la que me he basado para hacer esta implementación.
Soporte en otros frameworks o librerías
React Router le da soporte experimental desde la version 6.17.0
Remix le da soporte experimental desde la version 2.1.0