diff --git a/frontend/src/components/common/Modal/Modal.stories.tsx b/frontend/src/components/common/Modal/Modal.stories.tsx
index 4b460de21..516b8a254 100644
--- a/frontend/src/components/common/Modal/Modal.stories.tsx
+++ b/frontend/src/components/common/Modal/Modal.stories.tsx
@@ -20,11 +20,14 @@ export const Default = () => {
setIsOpen(true);
};
+ const closeModal = () => {
+ if (isOpen === true) setIsOpen(false);
+ };
return (
<>
{isOpen && (
-
+
This is Default Modal
)}
@@ -39,11 +42,15 @@ export const Wide = () => {
setIsOpen(true);
};
+ const closeModal = () => {
+ if (isOpen === true) setIsOpen(false);
+ };
+
return (
<>
{isOpen && (
-
+
This is Default Modal
)}
@@ -66,7 +73,7 @@ export const WithCloseButton = () => {
<>
{isOpen && (
-
+
<>
Modal Title
diff --git a/frontend/src/components/common/Modal/index.tsx b/frontend/src/components/common/Modal/index.tsx
index 191c63a62..b9d1a1d57 100644
--- a/frontend/src/components/common/Modal/index.tsx
+++ b/frontend/src/components/common/Modal/index.tsx
@@ -1,11 +1,11 @@
-import React, { useEffect, useRef, Dispatch } from 'react';
+import React, { useEffect, useRef } from 'react';
import { ModalSizeType } from '@type/modalSize';
import * as S from './style';
interface ModalProps {
- onModalClose: Dispatch>;
+ onModalClose: () => void;
children: React.JSX.Element;
size: ModalSizeType;
}
@@ -13,21 +13,17 @@ interface ModalProps {
export default function Modal({ onModalClose, children, size }: ModalProps) {
const BackDropRef = useRef(null);
- const closeModal = () => {
- onModalClose(false);
- };
-
useEffect(() => {
const handler = (e: MouseEvent) => {
if (e.target === BackDropRef.current) {
- closeModal();
+ onModalClose();
}
};
document.addEventListener('click', handler);
return () => document.removeEventListener('click', handler);
- }, [BackDropRef, closeModal]);
+ }, [BackDropRef, onModalClose]);
return (