Cómo resolver el error de Hydration failed

힘센캥거루
2025년 10월 8일(수정됨)
2
73

1. Descubrimiento del problema

Mientras veía el sitio de comidas que hice, de repente encontré el siguiente problema.

Ah... No puedo soportar este tipo de problemas...

Cómo resolver el error de Hydration failed-1

Al hacer clic, decía Hydration failed.

En resumen, significa que la página renderizada por el servidor y la página visible para el cliente son diferentes.

Se dice que las causas son diversas.

Cómo resolver el error de Hydration failed-2

2. Documentación oficial

Documentación oficial de Nextjs señala las siguientes causas para el error de hydration:

  1. Uso incorrecto de etiquetas HTML

    1. Anidación de etiqueta <p> dentro de otra <p>

    2. Anidación de etiqueta <div> dentro de <p>

    3. Anidación de <ul> o <ol> dentro de <p>

  2. Uso de lógica como typeof window !== 'undefined'

  3. Uso de API de navegador como window o localStorage en la lógica de renderizado

  4. Uso de API dependiente del tiempo como Date() en la lógica de renderizado

  5. Extensiones del navegador que modifican HTML

  6. Biblioteca de CSS in JS incorrecta

  7. Edge/CDN mal configurado que intenta modificar la respuesta de HTML como la minimización automática de Cloudflare

Sin embargo, por más que miraba, no encontraba ninguno de estos casos aplicables a mí.

Así que decidí depurar desde el principio.

3. Proceso de depuración

Fui comentando y guardando cada línea de código para encontrar cuál causaba el error.

Oh, por esto desarrollan en entorno dev.

Cómo resolver el error de Hydration failed-3

Así descubrí que el error ocurría en el componente Lunch...

Lo entendí...

Así que fui al componente Lunch y comencé a comentar uno por uno nuevamente.

Cómo resolver el error de Hydration failed-4

Resulta que la etiqueta input era la causa del hydration failed.

Probé diferentes métodos y todas las className que ocultaban elementos como scale-0, opacity-0, ¡causaban el error!

No me gustó la idea de cambiarlo y me daba pereza.

4. Solución

Cómo resolver el error de Hydration failed-5

Ignorar este tipo de errores inútiles es la respuesta.

No es gran cosa.

Agrega el atributo suppressHydrationWarning al elemento.

Cómo resolver el error de Hydration failed-6

Ahora, no aparece ningún error.

5. Conclusión

No había ningún caso similar al mío, por lo que pasé mucho tiempo perdido.

Al aprender a programar de forma autodidacta, a veces los problemas simples parecen dar muchas vueltas.

Espero que este artículo sea de ayuda.

관련 글

공문서 완전 자동화 해보기 - ChatGPT, Claude, kordoc + python-hwpx
공문서 완전 자동화 해보기 - ChatGPT, Claude, kordoc + python-hwpx
대한민국 공공기관은 여전히 .hwp 확장자를 가진 파일을 많이 사용한다.이 파일은 한글과컴퓨터에서 만든 독자 규격 문서다.문제는 이 형식이 다른 프로그램과 완전히 호환되지 않는다는 데 있다.문서를 열어보는 것은 가능하다.하지만 그 내용을 구조적으로 읽고, 데이터처럼 활...
Relato del desarrollo de un blog full‑stack con Next.js
Relato del desarrollo de un blog full‑stack con Next.js
Alrededor de un año después de empezar con el desarrollo web, empecé a pensar que quería tener mi propio blog.Así que estuve dedicado a esto durante u...
Despliegue sin interrupciones de Nextjs (servidor local) usando Caddy
Despliegue sin interrupciones de Nextjs (servidor local) usando Caddy
Cada vez que me entraban ganas de seguir añadiendo cosas a la página web, hacía un build, y en ese intervalo parece que había gente que se conectaba d...
Automatización de la indexación de búsqueda de Google - Web Search Indexing API
Automatización de la indexación de búsqueda de Google - Web Search Indexing API
Después de IndexNow, decidí probar también la automatización con Google.Buscando un poco, vi que Google ofrecía algo llamado Web Search Indexing a tra...
Automatizar la creación de índices de búsqueda - IndexNow
Automatizar la creación de índices de búsqueda - IndexNow
Mientras estaba registrando el sitio en Bing, me enteré de que Bing ofrece una función llamada IndexNow.Lo esencial es que, usando una clave de API, p...
Experiencia de que hackearan mi servidor Nextjs y React
Experiencia de que hackearan mi servidor Nextjs y React
La primera vez que me encontré con este problema de seguridad fue la madrugada del 5 de diciembre.Que en React era posible ejecutar código de forma re...

댓글을 불러오는 중...