7관문. Hydration Mismatch
관문 7 / 7
서버/클라이언트 HTML 불일치 에러를 진단하고 올바른 방법으로 수정하라.
📖 이론 비급
Hydration Mismatch 디버깅 정공법
서버 HTML과 클라이언트 첫 렌더 결과가 다르면 리액트가 에러를 던진다.
흔한 원인:
typeof window분기Math.random(),Date.now()사용- localStorage, sessionStorage 초기값
- 브라우저 전용 API
정공법: suppressHydrationWarning은 최후 수단이다.
const [mounted, setMounted] = useState(false)와 useEffect로
서버와 클라이언트의 첫 렌더를 일치시킨 후 마운트 이후에 다른 값을 표시하라.