Skip to main content

createRoot는 왜 react-dom이 아닌 react-dom/client에서 부르는가?

  • react-dom은 React의 DOM 렌더링과 관련된 기능들을 제공하는 패키지입니다.

    • Concurrent Mode와 관련된 새로운 API들, 예를 들면 createRoot는 react-dom 내부에서 구현되어 있습니다.
    • 그러나 Concurrent Mode는 아직 실험적인 기능이므로, React 팀은 이를 명확하게 구분하기 위해 react-dom/client 경로를 통해 해당 API들을 제공하고 있습니다.
  • react-dom에서 createRoot와 같은 Concurrent Mode의 API를 직접 호출하는 것은 권장되지 않습니다.

    • 이는 Concurrent Mode의 실험적인 특성과 관련된 API의 안정성을 강조하기 위한 것입니다.
    • 따라서 개발자가 react-dom에서 이러한 API를 직접 호출하려고 하면 경고 메시지가 표시됩니다.