import { getRole } from 'api/getRole'; import { useEffect, useState } from 'react'; export const useRole = (): [ string, React.Dispatch<React.SetStateAction<string>>, boolean, ] => { const [role, setRole] = useState(''); const [isLoading, setIsLoading] = useState(true); useEffect(() => { let isMounted = true; // Initialize asking the server if this session is already logged in. getRole().then((responseRole) => { if (isMounted) { setRole(responseRole); if (role !== null) setIsLoading(false); } }); return () => { isMounted = false; }; }, []); return [role, setRole, isLoading]; };