This is really common that i want to know an action is done and then do sth after that. for this we usually use events but i don't know how to use it in my case.
my scenario: There is an SplashScene which shows some animations for a constant time, after that time i navigate to my HomeScene. there are some other initializations which i don't want to be done unless SplashScene is gone and we r in HomeScene.
those initializations are in App component. and what im doing is that because the SplashScene animation time is constant i use a timeout to init things.
// Constants.tsexport const GlobalStaticData = { initialDuration: 5000 // ms}// App public componentDidMount() { setTimeout(() => { // initialize things }, GlobalStaticData.initialDuration) // show dialogs after splash loading time }// SplashSceneprivate onAnimationEnd = () => { NavigationActions.navigate(HomeScene)}but i know this is not good at all, i already experience sometimes which timing doesn't work as expected and things get initialized when app is still in SplashScene.
i was thinking for way to use events but i dont know how do that. what i want to listen to a value e.g called isSplashLoadCompleted in App component and in splash change that value when its works are done. then in App its event listener is called and initialing get started.