프로젝트에서 모달을 사용하는 컴포넌트가 다수 존재하여 공통 컴포넌트로 구현하고 각 컴포넌트 내에서 모듈 컴포넌트를 삽입하는 방식으로 구현하였으나 다음과 같은 문제가 발생하여 개선이 필요했습니다.

문제점

문제 원인

해결 방안

// 최상단
...
export default function RootLayout({
  children,
}: Readonly<{
  children: React.ReactNode;
}>) {
  return (
    <html lang="ko">
      <head>
        <link rel="icon" href="/favicon.ico" sizes="any" />
      </head>
      <body suppressHydrationWarning className={`${customFont.variable}`}>
        <DarkModeProvider>
          <ToastProvider>
            {children}
            <div id="modal-root" /> // 최상단에 있는 레이아웃에 Modal 컴포넌트 위치시킴
          </ToastProvider>
        </DarkModeProvider>
      </body>
    </html>
  );
}