import { ReactNode, useEffect, useState } from "react"; interface Props { screenshot: Promise; children: ReactNode; } const PrintViewMap = (props: Props) => { const [map, setMap] = useState(null); const [isError, setError] = useState(false); useEffect(() => { setMap(null); props.screenshot.then(setMap).catch(() => setError(true)); }, [props.screenshot]); return isError ? (
Error has occured
) : map ? (
Map snapshot {props.children}
) : (
Loading
); }; export default PrintViewMap;