xref: /MusicFree/src/hooks/useMounted.ts (revision b3fc85f367ba7edcc277793f13a2ecb206bb5a75)
1import {useRef, useState, useEffect, useCallback} from 'react';
2
3export function useOnMounted() {
4    const onMounted = useRef(false);
5    const [isLoading, setLoading] = useState(true);
6
7    useEffect(() => {
8        onMounted.current = true;
9        setTimeout(() => {
10            setLoading(false);
11        });
12
13        return () => {
14            onMounted.current = false;
15        };
16    }, []);
17
18    return {onMounted: useCallback(() => onMounted.current, []), isLoading};
19}
20