hardSystem Design

What is hydration in React?

322 views
01

Understand the problem

A core concept when building server-side rendered (SSR) React applications.

ssrhydrationperformance
02

Attempt it yourself

Sketch your approach before reading the solution — that's what interviews test.

Stuck? AI Nudge Available

Get a conceptual hint to guide your logic without spoiling the final implementation.

03

Study the solution

The solution is waiting

Give it an honest attempt first — then compare your thinking with the full walkthrough.

04

Read the code

Avoiding a hydration mismatch
import { useState, useEffect } from "react";

// ❌ rendering Date.now() directly differs between server and client → mismatch
// ✅ render a stable placeholder on the server, fill in after mount
export default function Clock() {
  const [time, setTime] = useState(null);     // same on server & first client render
  useEffect(() => {
    setTime(new Date().toLocaleTimeString()); // browser-only, after hydration
  }, []);
  return (
    <p style={{ fontFamily: "system-ui" }}>
      Time: {time ?? "loading…"}
    </p>
  );
}
05

Join the discussion

Discussion (0)

Sign in to join the discussion.

No responses yet. Be the first to share what you think.