diff --git a/src/index.tsx b/src/index.tsx index 2fce72f..e7962cb 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -507,6 +507,17 @@ const ReactPhotoSphereViewer = forwardRef((props, ref): React. } }, [sphereElement, options]) + useEffect(() => { + return () => { + const viewer: Viewer = spherePlayerInstance.current + if (viewer && viewer.container && viewer.container.parentNode) { + (viewer.renderer as unknown as { renderer?: { dispose: () => void } })?.renderer?.dispose() + ;(viewer.renderer as unknown as { renderer?: { forceContextLoss: () => void } })?.renderer?.forceContextLoss() + viewer.destroy() + } + } + }, [spherePlayerInstance]) + useEffect(() => { if (spherePlayerInstance.current && options.src) { spherePlayerInstance.current.setPanorama(options.src, {})