Harry Yates

I'm a web developer focused on TypeScript, React, and Three.js.

Hydration failed

Tue, 27th Feb 2024
"Next.js Hydration failed because the initial UI does not match what was rendered on the server"

Three likely causes and where to look.

Possible Issue #1 - Incorrect HTML Formatting

The error can occur due to incorrect HTML structure, such as placing a div element inside a p tag, using a ul list incorrectly, or nesting heading tags within p tags.

Basically, the mismatch between the client and server leads to hydration errors.

Possible Issue #2 - Browser Extensions Interference

Some browser extensions might modify the HTML content on the client side, leading to differences from the server-rendered content.

For example, an extension that inserts additional attributes or elements to all image tags can cause hydration issues.

Possible Issue #3 - Third-party Components Using Browser-specific Objects

If a third-party component relies on browser-specific objects like window, which are not available during server-side rendering, it can lead to hydration errors.

This is because the component might render differently (or not at all) on the server, compared to the client.