Inflearn コミュニティ Q&A
전역 모달이 여러 개일 경우 모달 프로바이더는 몇 개가 필요한가요?
作成
·
24
·
編集済み
0
전역 모달을 2개 쓰고 싶어서 일단 스토어 2개를 만들었는데요. 모달 프로바이더도 2개를 만들어야하는지, 아니면 하나의 모달 프로바이더에 2개 모달을 모두 넣어도 되는지 궁금합니다. 그리고 만약 하나의 모달 프로바이더에 두 모달을 넣는다면 어떻게 코드를 작성해야 하는지 궁금합니다.
// 1번
export default function ModalProvider({ children }: { children: ReactNode }) {
return (
<>
{createPortal(
<>
<AModal />
<BModal />
</>,
document.getElementById("modal-root")!,
)}
{children}
</>
);
}
// 2번
export default function ModalProvider({ children }: { children: ReactNode }) {
return (
<>
{createPortal(<AModal />, document.getElementById("modal-root")!)}
{createPortal(<BModal />, document.getElementById("modal-root")!)}
{children}
</>
);
}reacttypescriptreact-querysupabasezustand
回答 1
0
winterlood
インストラクター
안녕하세요 송현정님 이정환입니다
하나의 모달 프로바이더에 두개의 모달을 넣으시면 됩니다! 모달 프로바이더는 그저 모달들을 App 컴포넌트 아래에 렌더링 시켜주기 위한 역할만 하기 때문이에요 😀
코드 작성 방법은 1번으로 하시면 됩니다. modal-root 라는 id를 갖는 div 태그 아래에 컴포넌트를 렌더링 시키는게 목적이기 때문에 2번처럼 각각 createPortal 메서드를 사용해 렌더링 하실 필요는 없습니다.




