@@ -24,6 +24,7 @@ import useViewEvents, { ViewEvents } from '../modules/useViewEvents';
2424import OpenGLRenderWindow from '../OpenGLRenderWindow' ;
2525import Renderer from '../Renderer' ;
2626import RenderWindow from '../RenderWindow' ;
27+ import { viewMountedEvent } from './events' ;
2728import { DefaultProps , ViewProps } from './view-shared' ;
2829
2930/**
@@ -84,9 +85,16 @@ const SingleView = forwardRef(function SingleView(props: ViewProps, fwdRef) {
8485
8586 // --- api --- //
8687
88+ let mounted = false ;
89+ useMount ( ( ) => {
90+ mounted = true ;
91+ viewMountedEvent . trigger ( ) ;
92+ } ) ;
93+
8794 const api = useMemo < IView > (
8895 ( ) => ( {
8996 isInMultiViewRoot : ( ) => false ,
97+ isMounted : ( ) => mounted ,
9098 getViewContainer : ( ) =>
9199 openGLRenderWindowRef . current ?. getContainer ( ) ?? null ,
92100 getOpenGLRenderWindow : ( ) => openGLRenderWindowRef . current ,
@@ -99,7 +107,7 @@ const SingleView = forwardRef(function SingleView(props: ViewProps, fwdRef) {
99107 resetCamera : ( boundsToUse ?: Bounds ) =>
100108 rendererRef . current ?. resetCamera ( boundsToUse ) ,
101109 } ) ,
102- [ getInteractorStyle , setInteractorStyle ]
110+ [ mounted , getInteractorStyle , setInteractorStyle ]
103111 ) ;
104112
105113 useImperativeHandle ( fwdRef , ( ) => api ) ;
0 commit comments