강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của toito1toi
toito1toi

câu hỏi đã được viết

Dự án thực tế React.js cắt vừa miệng ăn - Phần SNS

(7.1) Triển khai UI thêm bài viết

전역 모달이 여러 개일 경우 모달 프로바이더는 몇 개가 필요한가요?

Viết

·

24

·

Đã chỉnh sửa

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

Câu trả lời 1

0

winterlood님의 프로필 이미지
winterlood
Người chia sẻ kiến thức

안녕하세요 송현정님 이정환입니다

하나의 모달 프로바이더에 두개의 모달을 넣으시면 됩니다! 모달 프로바이더는 그저 모달들을 App 컴포넌트 아래에 렌더링 시켜주기 위한 역할만 하기 때문이에요 😀

코드 작성 방법은 1번으로 하시면 됩니다. modal-root 라는 id를 갖는 div 태그 아래에 컴포넌트를 렌더링 시키는게 목적이기 때문에 2번처럼 각각 createPortal 메서드를 사용해 렌더링 하실 필요는 없습니다.

Hình ảnh hồ sơ của toito1toi
toito1toi

câu hỏi đã được viết

Đặt câu hỏi