import { useFocusEffect } from '@react-navigation/native'; import React from 'react'; const useIsReady = (stack: boolean = true) => { const [isReady, setIsReady] = React.useState(false); useFocusEffect( React.useCallback(() => { // Do something when the screen is focused let timer: any; if (!isReady) { timer = setTimeout(() => { setIsReady(true); }, 200); } return () => { // Do something when the screen is unfocused // Useful for cleanup functions clearTimeout(timer); // unsubscribeFocus(); // unsubscribeTransitionEnd && unsubscribeTransitionEnd(); }; }, []), ); return isReady; }; export default useIsReady;