diff --git a/src/Spline.tsx b/src/Spline.tsx index 9f3f002..05e1d8c 100644 --- a/src/Spline.tsx +++ b/src/Spline.tsx @@ -58,6 +58,12 @@ const Spline = forwardRef( ) => { const canvasRef = useRef(null); const [isLoading, setIsLoading] = useState(true); + const [error, setError] = useState(); + + // We throw the error so ErrorBoundary can catch it + if (error) { + throw error; + } // Initialize runtime when component is mounted useEffect(() => { @@ -122,7 +128,9 @@ const Spline = forwardRef( onLoad?.(speApp); } - init(); + init().catch((err) => { + setError(err as Error); + }); } return () => {