saleor-dashboard/src/hooks/useModalDialogOpen/useModalDialogOpen.ts
2019-08-09 12:17:04 +02:00

26 lines
477 B
TypeScript

import { useEffect, useState } from "react";
function useModalDialogOpen(
open: boolean,
cbs: {
onClose?: () => void;
onOpen?: () => void;
}
): void {
const [prevOpen, setPrevOpen] = useState(open);
useEffect(() => {
if (open !== prevOpen) {
setPrevOpen(open);
if (cbs.onOpen && open) {
cbs.onOpen();
}
if (cbs.onClose && !open) {
cbs.onClose();
}
}
}, [open]);
}
export default useModalDialogOpen;