Next.JS에서 내부적으로 사용하는 ReactDOM.hydrate 함수는 다음과 같은 일을 한다.

  1. 서버에서 받아온 DOM tree와 자체적으로 렌더링한 tree를 비교한다.
  2. 두 tree 사이의 diff를 얻어낸 뒤, 자체적으로(클라이언트사이드) 렌더링 한 tree에 맞춰 patch를 적용한다.

컴포넌트들

Untitled

Untitled

Untitled

Untitled

우리의 예상

Untitled

현실

Untitled

patch 시 트리끼리 타입과 순서만 비교한다

Untitled

결과

Untitled