프로젝트에서 모달을 사용하는 컴포넌트가 다수 존재하여 공통 컴포넌트로 구현하고 각 컴포넌트 내에서 모듈 컴포넌트를 삽입하는 방식으로 구현하였으나 다음과 같은 문제가 발생하여 개선이 필요했습니다.
문제점
문제 원인
해결 방안
// 최상단
...
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>
);
}