하이드레이션 (hydration)

React18에서의 hydration 변경점

1. HTML 스트리밍

```jsx
<div hidden id="서버사이드렌더링되는부분">
  <!-- Comments -->
  <p>데이터</p>
</div>
<script>
  // This implementation is slightly simplified
  document
    .getElementById("sections-spinner")
    .replaceChildren(document.getElementById("서버사이드렌더링되는부분"));
</script>

2. 선택적 하이드레이션 (Selective Hydration)

3. 하이드레이션 우선순위 조정

즉 리액트 18에서는

  1. HTML 스트리밍은 가장 빠른 시점에서부터 HTML을 생성할 수 있게 해주고, 추가적인 컨텐츠는 해당 장소에 컨텐츠가 갈 수 있도록 <script> 태그와 함께 스트리밍 형태로 보내주게 된다.
  2. 선택적 하이드레이션은 애플리케이션의 나머지 HTML 과 JavaScript가 완전히 다운로드 되기 전에, 하이드레이션을 최대한 빨리 시작할 수 있게 해준다.
  3. 하이드레이션 우선순위 조정을 통해 즉각적으로 하이드레이션이 이뤄지는 것 같은 착각을 일으킨다.\